当case函数列不使用别名的时候,末尾的end case 中case可以加可以不加, 但是当这一列要有别名的时候,就不能加case.
例如
SELECT
ORDER_ID,
CASE WHEN RPTERM = '1' and to_date(ACTUAL_PAYDATE,'yyyy-mm-dd') - to_date(PAY_DATE,'yyyy-mm-dd') > 0 THEN to_date(ACTUAL_PAYDATE,'yyyy-mm-dd') - to_date(PAY_DATE,'yyyy-mm-dd')
ELSE null END CASE OverdueDays1
from
CGI_REPAY_PLAN
会报错,需要去掉Case
SELECT
ORDER_ID,
CASE WHEN RPTERM = '1' and to_date(ACTUAL_PAYDATE,'yyyy-mm-dd') - to_date(PAY_DATE,'yyyy-mm-dd') > 0 THEN to_date(ACTUAL_PAYDATE,'yyyy-mm-dd') - to_date(PAY_DATE,'yyyy-mm-dd')
ELSE null END OverdueDays1
from
CGI_REPAY_PLAN
本文详细解析了在SQL中使用Case函数的正确方法,特别是针对带有别名的Case表达式的语法规范,避免因错误语法导致的运行时错误。
1429

被折叠的 条评论
为什么被折叠?



