mysql 用case when 解决比较时间大小后在排序的问题

来源:互联网 发布:sop8单片机的脚位介绍 编辑:程序博客网 时间:2024/05/19 00:11

用sql 解决比较时间大小后再排序的问题

 case when 1 :useTime 的后三天24点  当天算第一天 
case when 2: CreateTime 前三天 0点 当天算第一天


select *,

(case when  ( <![CDATA[ now()<= DATE_ADD(DATE_ADD(str_to_date(DATE_FORMAT(useTime,'%Y-%m-%d'),'%Y-%m-%d %H:%i:%s'),INTERVAL 3 DAY),INTERVAL -1 SECOND) ]]>)then 1 when ( <![CDATA[ DATE_SUB(DATE_SUB(str_to_date(DATE_FORMAT(c.CreateTime,'%Y-%m-%d'),'%Y-%m-%d %H:%i:%s'),INTERVAL 2 DAY),INTERVAL 0 SECOND)<=now() ]]>)  then 2else 3 end) csort

from XX 表 order by csort