假設我有表XYZ,其中包含一個存儲值SUNDAY,SATURDAY的列Weekend_Days,並且我有另一個表ABC,其中包含日期ACT_DATE,該日期可以是任意日期。現在我必須檢查這一天的這一天是不是週末。在存儲逗號分隔值的列值中搜索值
我試着使用:
select ACT_DATE
, case
when UPPER(TO_CHAR(ACT_DATE,'DAY')) IN (SELECT Weekend_Days from XYZ)
then 1
else 0
end as Weekend_Flag
from ABC
但它不能正常工作,它只是所有日期返回0。
嘗試將Weekend_Days的值存儲爲('SUNDAY','SATURDAY'),但沒有奏效。
示例數據:
表XYZ:
WEEKEND_DAYS
---------------
SUNDAY,SATURDAY
表ABC:
ACT_DATE
---------
02-Feb-16
06-Feb-16
當前結果:
ACT_DATE WEEKEND_FLAG
--------- ------------
02-Feb-16 0
06-Feb-16 0
預期結果:
ACT_DATE WEEKEND_FLAG
--------- ------------
02-Feb-16 0
06-Feb-16 1
請正確標記您的DBMS,我不認爲您同時使用'mysql'和'oracle'。另外,你可以發佈一些樣本數據嗎? – HoneyBadger
發佈創建和插入語句。並顯示您所需的輸出。 –