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
			
		也可以这样写:
		SELECT
			CASE 1
				WHEN 1 THEN '字段的值是1'
				WHEN 2 THEN '字段的值是2'
				ELSE '字段的值3'
			END AS WE
		FROM
			DUAL
		
	注意:ifnull("字段名", 值) -- 非空验证 如果字段为空就输出后面的值

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐