经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » PostgreSQL » 查看文章
postgresql 相关函数总结
来源:cnblogs  作者:志于之毅  时间:2019/6/4 15:39:23  对本文有异议

 

 

1.获取当前日期的年份

 

  1. select to_char(t.detect_date,'YYYY')

 

  1. 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
generate_series(date_trunc('month',to_date('20150305','yyyymmdd')),
date_trunc('month',to_date('20150705','yyyymmdd')),'1 month') as tt(zz);

结果为:

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

方法一:

select * from user_info where create_date >= '2015-07-01' and create_date < '2015-08-15';

方法二:为啥字符串可以按日期格式比较大小

select * from user_info where create_date

between '2015-07-01' and '2015-08-15';

方法三:

select * from user_info where create_date >= '2015-07-01'::timestamp and create_date < '2015-08-15'::timestamp;

方法四:

select * from user_info where create_date between to_date('2015-07-01','YYYY-MM-DD') and to_date('2015-08-15','YYYY-MM-DD');

 

 

 

 

 

 

 

 

 

 

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
generate_series ( date_trunc( 'month', to_date( to_char( NOW(), 'YYYY-MM-DD' ), 'YYYY-MM-DD' )) :: DATE, NOW() :: DATE, '1 day' ) :: DATE AS datetime

结果如下:

 

 

 

 

 

 

 

 

 

 

 

11.保留7天的日期

delete from  表名  where date_created <(now()-interval '7 day')

原文链接:http://www.cnblogs.com/zxy-come-on/p/10971476.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号