使用
指定排序方式
-
指定一个字段根据与给定标准值大小的差值进行排序
ORDER BY ABS("field" > THEN "field" - $standard) -
如果值的类型是timestamp,如果使用以上方法有可能会出现以下错误
function abs(interval) does not exist,因此需要区分时间的前后,同时为了避免时区产生的影响,建议使用CURRENT_TIMESTAMP,而不是NOW()ORDER BY CASE WHEN "field" > CURRENT_TIMESTAMP THEN "field" - CURRENT_TIMESTAMP ELSE CURRENT_TIMESTAMP - "field" END同样我们还可以使用函数来解决
ABS(EXTRACT(EPOCH FROM ("field" - CURRENT_TIMESTAMP)))其中extract()是提取函数