postgresql中时间转换和加减操作
导读:收集整理的这篇文章主要介绍了postgresql中时间转换和加减操作,觉得挺不错的,现在分享给大家,也给大家做个参考。 昨天遇到一个floor向下取整的问题,现在将它记录下来。首先flo...
收集整理的这篇文章主要介绍了postgresql中时间转换和加减操作,觉得挺不错的,现在分享给大家,也给大家做个参考。 昨天遇到一个floor向下取整的问题,现在将它记录下来。
首先floor是需要一个int或者dp。那么我们日期加减转换,timestamp 转data,是需要先将其转成char,再由char转date,再相减,得出一个符合floor函数要求的值。
代码如下:
FLOOR((to_date(to_char(current_timestamp, 'yyyy-MM-dd hh:mi:ss'), 'yyyy-mm-dd')
- to_date(to_char(ca.birthday, 'yyyy-MM-dd hh:mi:ss'), 'yyyy-mm-dd')) / 365) as age
同样的,在java里面要想得到timestamp的当前时间,也是用util的date转string再转timestamp
补充:PostgreSQL的日期运算计算函数使用
一:各个数据中的连接符
SqlServer的连接符:+(加号)
SqlITe的连接符:.(点)
PostgreSQL的连接符:||(或)
二:
今天在PostgreSQL计算日期的时候,翻了一些资料,很少,就记录下来吧~!
其中使用到的函数及变量
to_char()、Date()、now()、current_date
计算两个日期的差
current_date为今天的日期,为:2015-06-03
Date('2015-06-05')-current_date=2select to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'),Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date From tablename where delflag=0 and status=0 and Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date>
=0 and Date(to_char(current_date,'yyyy')||'-'||to_char(birthday,'mm-dd'))-current_date=7 order by birthday desc三:
select now() + interval '1 days';
select now() + interval '1 month';
select now() + interval '1 years';
四:
SqlServer中进行日期计算时,用到函数
CONVERT(),DATEPART(),getDate()select CONVERT(vArchar(10),CONVERT(VARchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120),datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120)) from tablename where delflag=0 and status=0 and datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120))=7 and datediff(day,CONVERT(varchar(10),getdate(),120),CONVERT(varchar(10),CONVERT(varchar(4),DATEPART(year,getDate()))+'-'+ CONVERT(varchar(2),DATEPART(month,birthday))+'-'+CONVERT(varchar(2),DATEPART(day,birthday)),120))>
=0 order by birthday desc以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣的文章:- postgreSQL 非count方法算记录数操作
- 详解PostgreSql数据库对象信息及应用
- postgresql的now()与Oracle的sysdate区别说明
- Postgresql 通过出生日期获取年龄的操作
- postgresql 获取两个时间类型小时差值案例
- postgresql通过索引优化查询速度操作
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: postgresql中时间转换和加减操作
本文地址: https://pptw.com/jishu/632872.html
