这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。
时间格式处理
按照给定格式返回:to_char(timestamp,format)
![](https://a5img.pncdn.cn/2021/0420/1618908391394.png)
返回相差的天数:(date(time1) - current_date)
![](https://a5img.pncdn.cn/2021/0420/1618908391547.png)
返回时间戳对应的的日期[yyyy-MM-dd]:date(timestamp)
![](https://a5img.pncdn.cn/2021/0420/1618908391340.png)
计算结果取两位小数(方便条件筛选):round((ABS(a-b)::numeric / a), 2) * 100 < 10
![](https://a5img.pncdn.cn/2021/0420/1618908391496.png)
时间运算
加减运算
'-' :前x天/月/年
'+' :后x天/月/年
current_timestamp - interval 'x day/month/year...' 返回时间戳
![](https://a5img.pncdn.cn/2021/0420/1618908391404.png)
date_part('day', current_timestamp - time1) 两个时间相差的天数
![](https://a5img.pncdn.cn/2021/0420/1618908391216.png)
返回时间间隔的秒数
两个timestamp 直接相减返回的是 interval类型,而不是毫秒数
extract(epoch from (time1- time2)) * 1000
![](https://a5img.pncdn.cn/2021/0420/1618908391504.png)
如果在sql 中使用long类型的 timestamp,需要包裹 to_timestamp() 函数
![](https://a5img.pncdn.cn/2021/0420/1618908391530.png)
文章来源:脚本之家
来源地址:https://www.jb51.net/article/208544.htm
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!