postgresql 大于当前时间升序,小于当前时间降序

场景:把还没到的会议排前面,并且越靠近当前时间的会议排前面;然后把已开完的会议按开会时间降序排序

表名:meeting(会议)

字段:meeting_time(开会时间)

           ......其他字段

实现sql:

select * from meeting order by 
CASE WHEN meeting_time > NOW() THEN 1 else 2 END asc, 
abs(EXTRACT(EPOCH FROM meeting_time - now())) asc

说明:

-- 先用会议时间跟当前时间比较,大于当前时间的会议排前面
CASE WHEN meeting_time > NOW() THEN 1 else 2 END asc

-- 再用abs绝对值函数,取会议时间 减去 当前时间 的绝对值 ,做升序排序,越靠近当前时间的排前面
abs(EXTRACT(EPOCH FROM meeting_time - now())) asc

相关推荐

  1. postgresql 大于当前时间小于当前时间

    2024-07-20 16:44:03       27 阅读
  2. js获取当前时间

    2024-07-20 16:44:03       61 阅读
  3. js获取当前时间,当日零点,前一周时间

    2024-07-20 16:44:03       53 阅读
  4. C语言打印当前时间

    2024-07-20 16:44:03       45 阅读
  5. Qt - 获取系统当前时间

    2024-07-20 16:44:03       40 阅读
  6. C语言获取当前时间

    2024-07-20 16:44:03       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 16:44:03       123 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 16:44:03       131 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 16:44:03       109 阅读
  4. Python语言-面向对象

    2024-07-20 16:44:03       117 阅读

热门阅读

  1. 在 C# .NET 中丢弃变量

    2024-07-20 16:44:03       27 阅读
  2. 基于深度学习的故障检测

    2024-07-20 16:44:03       26 阅读
  3. 【Spring Boot 自定义配置项详解】

    2024-07-20 16:44:03       25 阅读
  4. 13、.Net相关的书籍 - .Net循序渐进系列文章

    2024-07-20 16:44:03       30 阅读
  5. OpenWrt安装快速入门指南

    2024-07-20 16:44:03       30 阅读
  6. K8S私有云 服务器负载均衡器OpenELB

    2024-07-20 16:44:03       32 阅读