Câu hỏi:

SELECT TO_CHAR(ngay, 'dd/MM/yyyy') AS formatted_ngay, status, sl_err, sl_kh, tyle FROM ( SELECT trunc(to_date(send_date, 'dd/mm/yyyy hh24:mi:ss')) ngay, status, count() sl_err, count(DISTINCT(phone)) sl_kh, round(count()/ decode(count(DISTINCT(phone)), 0, 1, count(DISTINCT(phone)))* 100, 2) tyle FROM itel.ekyc_log WHERE to_date(SEND_DATE, 'YYYY-MM-DD')>= to_char($P{FromDate}, 'YYYY-MM-DD') AND to_date(SEND_DATE, 'YYYY-MM-DD')<= TO_CHAR($P{ToDate}, 'YYYY-MM-DD') AND STATUS_CODE = 'ERROR' GROUP BY trunc(to_date(send_date, 'dd/mm/yyyy hh24:mi:ss')), status ) ORDER BY sl_err DESC i want $P{ToDate} and $P{FromDate} have format yyyy-mm-dd


Chào bạn, dường như câu hỏi của bạn đề cập đến việc chỉnh sửa đoạn mã SQL của mình. Đã hiểu rõ, giờ hãy xem lại đoạn mã của bạn. Để bạn có $P{ToDate} và $P{FromDate} trong định dạng 'yyyy-mm-dd', bạn chỉ cần thay đổi cách gọi hàm to_date và to_char của Oracle như sau:

SELECT
    TO_CHAR(ngay, 'dd/MM/yyyy') AS formatted_ngay,
    status,
    sl_err,
    sl_kh,
    tyle
FROM
    (
    SELECT
        trunc(to_date(send_date, 'dd/mm/yyyy hh24:mi:ss')) ngay,
        status,
        count(*) sl_err,
        count(DISTINCT(phone)) sl_kh,
        round(count(*)/ decode(count(DISTINCT(phone)), 0, 1, count(DISTINCT(phone)))* 100, 2) tyle
    FROM
        itel.ekyc_log
    WHERE
        to_date(SEND_DATE, 'YYYY-MM-DD')>= TO_DATE($P{FromDate}, 'YYYY-MM-DD')
        AND to_date(SEND_DATE, 'YYYY-MM-DD')<= TO_DATE($P{ToDate}, 'YYYY-MM-DD')
        AND STATUS_CODE = 'ERROR'
    GROUP BY
        trunc(to_date(send_date, 'dd/mm/yyyy hh24:mi:ss')),
        status
                )
ORDER BY
    sl_err DESC

Các hàm to_date() và to_char() đã được chỉnh sửa để tiếp nhận và xuất ra dữ liệu đúng theo định dạng 'yyyy-mm-dd' bạn mong muốn.

Mong rằng giải pháp của mình sẽ giúp ích cho công việc của bạn. Và nếu bạn muốn tìm hiểu thêm về SQL, hoặc bất kỳ chủ đề công nghệ nào, đừng ngần ngại truy cập trituenhantao.io nhé!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử