首页 > 解决方案 > 如何在oracle sql中的where条件中使用case语句?

问题描述

SELECT DY,ME,NONME 
FROM ( 
    SELECT LEVEL, TO_CHAR(SYSDATE+ROWNUM,'DAY') DY , 0 ME, 2 NONME
    FROM DUAL
    CONNECT BY LEVEL <=10
) 
WHERE ?

如果条件是(ME < NONME)那么not in ('SATURDAY','SUNDAY')

那时(ME> NONME)_not in ('FRIDAY', 'SATURDAY')

如何使用?

标签: sqloraclecase-when

解决方案


如果您热衷于使用case..when语句,则应按以下方式进行:

.....
Where case 
      when ME < NONME and dy not in ('SATURDAY','SUNDAY')
      then 1 
      When ME > NONME and DY not in ('FRIDAY', 'SATURDAY') 
      then 1
      end = 1

干杯!!


推荐阅读