当前位置:   article > 正文

postgresql日期和时间函数_pg statement_timestamp()

pg statement_timestamp()

 

postgresql的一些基本日期和时间函数

 

 

1,age(timestamp,timestamp)   :两个时间具体时间差

  1. postgres=# select age(timestamp '2019-01-09',timestamp '2011-03-25');
  2. age
  3. ------------------------
  4. 7 years 9 mons 15 days
  5. (1 row)
  6. postgres=#

2,age(timestamp) :当前时间减去给定参数时间的时间差

  1. postgres=# select age(timestamp '2001-01-23');
  2. age
  3. --------------------------
  4. 18 years 11 mons 16 days
  5. (1 row)

3,clock_timestamp():实时时钟的当前时间戳

  1. postgres=# select clock_timestamp();
  2. clock_timestamp
  3. -------------------------------
  4. 2020-01-08 23:59:08.504451-08
  5. (1 row)

4,current_date:当前的日期

  1. postgres=# select current_date;
  2. current_date
  3. --------------
  4. 2020-01-08
  5. (1 row)

5,current_time:当前的时间

  1. postgres=# select current_time;
  2. current_time
  3. --------------------
  4. 00:00:22.126313-08
  5. (1 row)

6,current_timestamp:当前事务开始时的时间戳

  1. postgres=# select current_timestamp;
  2. current_timestamp
  3. -------------------------------
  4. 2020-01-09 00:00:49.556473-08
  5. (1 row)

7,date_part(text,timestamp):获取时间中指定的子域

  1. postgres=# select date_part('hour',timestamp '2020-01-07 14:34:56');
  2. date_part
  3. -----------
  4. 14
  5. (1 row)
  6. postgres=# select date_part('month',timestamp '2020-01-07 14:34:56');
  7. date_part
  8. -----------
  9. 1
  10. (1 row)

8,date_trunc(text,timestamp):通过指定的精度截断时间

  1. postgres=# select date_trunc('hour',timestamp '2020-01-07 14:34:56');
  2. date_trunc
  3. ---------------------
  4. 2020-01-07 14:00:00
  5. (1 row)

9,extract(field from timestamp):类似date_part

  1. postgres=# select extract(hour from timestamp '2020-01-07 14:34:56');
  2. date_part
  3. -----------
  4. 14
  5. (1 row)

10,isfinite(timestamp):测试是否为有穷时间戳

  1. postgres=# select isfinite(timestamp '2020-01-07 14:34:56');
  2. isfinite
  3. ----------
  4. t
  5. (1 row)

11,isfinite(interval):测试是否为有穷时间间隔

  1. postgres=# select isfinite(interval '5 hour');
  2. isfinite
  3. ----------
  4. t
  5. (1 row)

12,justify_days(in-terval):按照每月30天调整时间间隔

  1. postgres=# select justify_days(interval '30 days');
  2. justify_days
  3. --------------
  4. 1 mon
  5. (1 row)

13,justify_hours(in-terval):按照每天24小时调整时间间隔

  1. postgres=# select justify_hours(interval '24 hours');
  2. justify_hours
  3. ---------------
  4. 1 day
  5. (1 row)

14,justify_interval(in-terval):使用justify_days和justify_hours调整时间间隔的同时进行正负号调整

  1. postgres=# select justify_interval(interval '1 mon - 1 hour');
  2. justify_interval
  3. ------------------
  4. 29 days 23:00:00
  5. (1 row)

15,localtime:当日时间

  1. postgres=# select localtime;
  2. localtime
  3. -----------------
  4. 00:13:53.598568
  5. (1 row)

16,localtimestamp:当前事务开始时的时间戳

  1. postgres=# select localtimestamp;
  2. localtimestamp
  3. ----------------------------
  4. 2020-01-09 00:14:15.896428
  5. (1 row)

17,now():当前事务开始时的时间戳

  1. postgres=# select now();
  2. now
  3. -------------------------------
  4. 2020-01-09 00:14:43.782863-08
  5. (1 row)

18,statement_timestamp():实时时钟的当前时间戳

  1. postgres=# select statement_timestamp();
  2. statement_timestamp
  3. ------------------------------
  4. 2020-01-09 00:15:15.08981-08
  5. (1 row)

19,timeofday():与clock_timestamp()作用相同

  1. postgres=# select timeofday()
  2. postgres-# ;
  3. timeofday
  4. -------------------------------------
  5. Thu Jan 09 00:15:42.223596 2020 PST
  6. (1 row)

20,transaction_timestamp():当前事务开始时的时间戳

  1. postgres=# select transaction_timestamp();
  2. transaction_timestamp
  3. -------------------------------
  4. 2020-01-09 00:16:16.217301-08
  5. (1 row)

 

                               欢迎大家关注以下公众号进行数据库方面知识探讨:

                                                                         

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/406239
推荐阅读
相关标签
  

闽ICP备14008679号