postgresql 截取日期字符串 的函数
1.获取当前日期的年份
select to_char(t.detect_date,‘YYYY‘)
select extract(year from now())为double precision 格式类型
select to_char((SELECT now()::timestamp),‘yyyy‘)
2.获取下一年
select to_char((SELECT now()::timestamp+ ‘1 year‘),‘yyyy‘)
3.获取上一年
select to_char((SELECT now()::timestamp+ ‘-1 year‘),‘yyyy‘)
4.获取指定的时间日期
substring(‘2019-01-01‘ from 1 for 7) 输出值为 2019-01
5.获取两个时间点每个月的第一天的日期
select date(zz) from 结果为: g
|
6.日期相加减
SELECT now()::timestamp + ‘1 year‘; --当前时间加1年
SELECT now()::timestamp + ‘1 month‘; --当前时间加一个月
SELECT now()::timestamp + ‘1 day‘; --当前时间加一天
SELECT now()::timestamp + ‘1 hour‘; --当前时间加一个小时
SELECT now()::timestamp + ‘1 min‘; --当前时间加一分钟
SELECT now()::timestamp + ‘1 sec‘; --加一秒钟
select now()::timestamp + ‘1 year 1 month 1 day 1 hour 1 min 1 sec‘; --加1年1月1天1时1分1秒
SELECT now()::timestamp + (col || ‘ day‘)::interval FROM table --把col字段转换成天 然后相加
|
7.按日期查询的方法
Timestamp without timezone
方法一:
方法二:为啥字符串可以按日期格式比较大小
方法三:
方法四:
|
8.显示序号
select (ROW_NUMBER () OVER (ORDER BY bb.SUM DESC)) AS xuhao from tb_person
9.获取日期 将01-01前的0 去掉
map.get("score_date").toString().substring(8).replaceFirst("^0*", "") ;
10.获取系统当前月的每天的日期
SELECT 结果如下:
|
11.保留7天的日期
delete from 表名 where date_created <(now()-interval ‘7 day‘)