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 表名,
=====================================================
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN '男