MySQL中CASE WHEN用法

select dispatch_user_time,dispatch_areacode_time,acceptTime,last_update_time,distTime,
	CASE 
	WHEN (TIMESTAMPDIFF(HOUR,dispatch_areacode_time,dispatch_user_time)-acceptTime) >0 THEN '超时'
	WHEN (TIMESTAMPDIFF(HOUR,dispatch_areacode_time,dispatch_user_time)-acceptTime) <0 THEN '未超时'
	ELSE ''
END accept,
	CASE 
	WHEN (TIMEDIFF(last_update_time,ADDDATE(dispatch_areacode_time,INTERVAL distTime DAY))) > 0 THEN '超时'
	WHEN (TIMEDIFF(last_update_time,ADDDATE(dispatch_areacode_time,INTERVAL distTime DAY))) < 0 THEN '未超时'
	ELSE ''
END investigate
FROM test1 

 

详情见菜鸟教程高级函数教程

上图是从查询结果中进行判断运算,返回一个单独的列的值 

另外在case when中还可以嵌套case when  then和else后面可以加  ''  也可以加NULL表示空值 

posted @ 2021-11-23 19:50  白菜豆腐粉丝汤  阅读(279)  评论(0)    收藏  举报