Ich habe den folgenden Code:Wie NVL zu verwenden, in denen Klausel
SELECT cr_ts, msg_id, info
FROM messaging_log
WHERE UPPER(INFO) LIKE '%' || TRIM(UPPER(P_INFO)) || '%'
AND cr_ts >= NVL(P_DATE, SYSDATE-10)
AND msg_id = NVL(P_ID, msg_id)
ORDER BY cr_ts desc;
wo P_INFO, P_DATE und P_ID Parameter sind. Im Normalfall ist jeder Parameter NULL. Aber dann gibt die WHERE-Klausel AND msg_id = NVL(P_ID, msg_ID)
die Zeilen nicht zurück, in denen msg_id selbst NULL ist. Was habe ich verpasst?
Wie alle Einträge zurückgegeben werden, wenn P_ID und msg_id NULL sind?
Vielleicht haben Sie NULL-Werte in Ihrer Tabelle? – Aleksej