美文网首页
按离当前时间最近排序

按离当前时间最近排序

作者: 就叫basi | 来源:发表于2020-09-25 17:18 被阅读0次

    大于等于当前时间的,按离当前时间最近升序排序

    小于当前时间的,按离当前时间最远升序排序

    上sql

    SELECT
        l.id,
        l.begin_datetime AS liveBeginTime,
        l.begin_datetime -  CURRENT_DATE()   AS sortTwo,
    CASE
        WHEN l.begin_datetime >= CURRENT_DATE() THEN 0 ELSE 1 
        END AS sortOne 
    FROM
        test l 
    WHERE
        l.id IN ( '', '', '', '','' ) 
    ORDER BY
        sortOne,
        sortTwo
    

    结果如图


    第一个case计算出离当前日期时间戳之差
    第二个case计算出是当前时间之前还是之后

    相关文章

      网友评论

          本文标题:按离当前时间最近排序

          本文链接:https://www.haomeiwen.com/subject/vqifuktx.html