文章摘要
这篇文章介绍了PostgreSQL中处理时间的技巧,重点包括:
1. **时间加减运算**:使用`-`表示前x天/月/年,`+`表示后x天/月/年,可以通过`current_timestamp - interval 'x day/month/year... '`来计算特定时间的差值。
2. **计算日期相差的天数**:使用`date_part('day', current_timestamp - time1)`来获取两个时间点之间的天数差。
3. **处理时间戳的秒数**:直接相减得到的是时间间隔,不是毫秒数,可以通过`extract(epoch from (time1 - time2)) * 1000`来获取秒数。
4. **格式化日期**:使用`to_char(timestamp, format)`来格式化日期字符串。
5. **处理长类型Timestamp**:在SQL中使用`long`类型的`timestamp`之前,需使用`to_timestamp`函数进行转换。
文章还提供了参考资料,供进一步学习和阅读。
按照给定格式返回:to_char(timestamp,format)

返回相差的天数:(date(time1) – current_date)

返回时间戳对应的的日期[yyyy-MM-dd]:date(timestamp)

计算结果取两位小数(方便条件筛选):round((ABS(a-b)::numeric / a), 2) * 100 < 10

加减运算
‘-‘ :前x天/月/年
‘+’ :后x天/月/年
current_timestamp – interval ‘x day/month/year…’ 返回时间戳

date_part(‘day’, current_timestamp – time1) 两个时间相差的天数

返回时间间隔的秒数
两个timestamp 直接相减返回的是 interval类型,而不是毫秒数
extract(epoch from (time1- time2)) * 1000

如果在sql 中使用long类型的 timestamp,需要包裹 to_timestamp() 函数

参考资料:
1. https://www.yiibai.com/manual/postgresql/functions-formatting.html
2. http://www.postgres.cn/docs/9.4/functions-datetime.html
到此这篇关于postgresql 中的时间处理小技巧(推荐)的文章就介绍到这了,更多相关postgresql 时间处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:PostGreSql 判断字符串中是否有中文的案例PostgreSQL的中文拼音排序案例自定义函数实现单词排序并运用于PostgreSQL(实现代码)PostgreSQL将数据加载到buffer cache中操作方法在PostgreSQL中使用ltree处理层次结构数据的方法Postgresql限制用户登录错误次数的实例代码PostgreSQL用户登录失败自动锁定的处理方案postgresql影子用户实践场景分析如何使用PostgreSQL进行中文全文检索
© 版权声明
文章版权归作者所有,未经允许请勿转载。