mysql语句case when 的代码片段
2016-09-29 11:28
330 查看
SELECT CASE WHEN a.order_status =1 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.create_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.create_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.create_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.create_date,'%H:%i')) ELSE DATE_FORMAT(a.create_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =2 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.receive_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.receive_date,'%H:%i')) ELSE DATE_FORMAT(a.receive_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =3 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.pay_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.pay_date,'%H:%i')) ELSE DATE_FORMAT(a.pay_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =4 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.get_goods_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.get_goods_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.get_goods_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.get_goods_date,'%H:%i')) ELSE DATE_FORMAT(a.get_goods_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =5 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.arrive_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.arrive_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.arrive_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.arrive_date,'%H:%i')) ELSE DATE_FORMAT(a.arrive_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =6 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.pay_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.pay_date,'%H:%i')) ELSE DATE_FORMAT(a.pay_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =7 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.confirm_goods_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.confirm_goods_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.confirm_goods_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.confirm_goods_date,'%H:%i')) ELSE DATE_FORMAT(a.confirm_goods_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =8 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.finish_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.finish_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.finish_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.finish_date,'%H:%i')) ELSE DATE_FORMAT(a.finish_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =9 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_cancel_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.receive_cancel_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_cancel_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.receive_cancel_date,'%H:%i')) ELSE DATE_FORMAT(a.receive_cancel_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =10 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.send_cancel_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.send_cancel_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.send_cancel_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.send_cancel_date,'%H:%i')) ELSE DATE_FORMAT(a.send_cancel_date,'%y/%m/%d %H:%i') END ) WHEN a.order_status =11 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.undo_date) = 0 THEN CONCAT('今天',' ',DATE_FORMAT(a.undo_date,'%H:%i')) WHEN TO_DAYS(NOW()) - TO_DAYS(a.undo_date) = 1 THEN CONCAT('昨天',' ',DATE_FORMAT(a.undo_date,'%H:%i')) ELSE DATE_FORMAT(a.undo_date,'%y/%m/%d %H:%i') END ) END AS showDate FROM order_info a
<pre name="code" class="sql">SELECT a.order_status ,a.create_date,CASE WHEN a.order_status =1 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.create_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 2 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 4 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.get_goods_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 5 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.arrive_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 6 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 8 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.finish_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 9 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.receive_cancel_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 10 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.send_cancel_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 11 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.undo_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 3 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.pay_date) > 1 THEN 1 ELSE 0 END)WHEN a.order_status = 7 THEN (CASE WHEN TO_DAYS(NOW()) - TO_DAYS(a.confirm_goods_date) > 1 THEN 1 ELSE 0 END)END AS dateTypeFROMorder_info a
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- 10 件在 PHP 7 中不要做的事情
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案
- PostgreSQL教程(十九):SQL语言函数