sql中的判断语句 if...else的使用
-- 1.oracle和mysql数据库都可以这样写CASE WHEN (RO.APPROVE_QUANTITY - NVL(tto.QUANTITY , 0 )) < 0 THEN 0 ELSE (RO.APPROVE_QUANTITY-NVL(tto.QUANTITY , 0 )) END surplusQuantity-- 注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为
·
1.oracle中if..else的方法:
第一种:写表达式
SELECT
CASE
WHEN 2>1 THEN '真'
ELSE '假'
END AS WE
FROM DUAL
第二种:固定
SELECT
CASE 1
WHEN 1 THEN '字段的值是1'
WHEN 2 THEN '字段的值是2'
ELSE '字段的值3'
END AS WE
FROM
DUAL
第三种:DECODE(需要判断的值,判断1的结果条件(if),符合判断1的结果,判断2的结果条件(else if),符合判断2的结果,(else))
SELECT
DECODE(2, 1, '男', 2, '女', '未知')
FROM
DUAL
注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为空,则赋值为逗号后面的值。
2.mysql中if...else的方法
第一种:
SELECT
IF(1>0, '真', '假')
FROM
DUAL
也可以多条件嵌套用:
SELECT
IF(1>0, IF(2>1, '真', '假'), '假')
FROM
DUAL
第二种:
SELECT
CASE 1
WHEN 1 THEN '字段的值是1'
WHEN 2 THEN '字段的值是2'
ELSE '字段的值3'
END AS WE
FROM
DUAL
注意:ifnull("字段名", 值) -- 非空验证 如果字段为空就输出后面的值
如果大家知道更好的方法,欢迎下面进行留言,共同学习进步,觉得对你有用的话记得点个赞喔。
原创不易,且行且珍惜,转载请注明出处https://blog.csdn.net/yongfeng929/article/details/73733028
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)