sqlserver与oracle case when else ,isnull语法差别

sqlserver里的isnull()
oracle里nvl()
NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值
NVL2(Expr1,Expr2,Expr3)如果Expr1不为NULL,返回Expr2的值,否则返回Expr3的值
NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值

sqlserver里的case when else的用法:
表名 = CASE WHEN a.colorder = 1 THEN d .name ELSE '' END,
    

oracle里case when else的用法:
(CASE WHEN a.colorder = 1 THEN d .name ELSE '' END) as 表名,

你可能感兴趣的:(sqlserver)