时间:2024-03-13 13:56作者:下载吧人气:29
昨天遇到一个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=2
select 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
网友评论