openGauss SQL参考—函数和操作符:时间和日期处理函数和操作符(3)
-
numtodsinterval(num, interval_unit)
描述:将数字转换为interval类型。num为numeric类型数字,interval_unit为固定格式字符串('DAY' | 'HOUR' | 'MINUTE' | 'SECOND')。
可以通过设置参数IntervalStyle为a,兼容该函数interval输出格式。
示例:
openGauss=# SELECT numtodsinterval(100, 'HOUR'); numtodsinterval ----------------- 100:00:00 (1 row) openGauss=# SET intervalstyle = a; SET openGauss=# SELECT numtodsinterval(100, 'HOUR'); numtodsinterval ------------------------------- +000000004 04:00:00.000000000 (1 row) -
pg_sleep(seconds)
描述:服务器线程延迟时间,单位为秒。
返回值类型:void
示例:
openGauss=# SELECT pg_sleep(10); pg_sleep ---------- (1 row) -
statement_timestamp()
描述:当前日期及时间。
返回值类型:timestamp with time zone
示例:
openGauss=# SELECT statement_timestamp(); statement_timestamp ------------------------------- 2017-09-01 17:04:39.119267+08 (1 row) -
sysdate
描述:当前日期及时间。
返回值类型:timestamp
示例:
openGauss=# SELECT sysdate; sysdate --------------------- 2017-09-01 17:04:49 (1 row) -
timeofday()
描述:当前日期及时间(像clock_timestamp,但是返回时为text)。
返回值类型:text
示例:
openGauss=# SELECT timeofday(); timeofday ------------------------------------- Fri Sep 01 17:05:01.167506 2017 CST (1 row) -
transaction_timestamp()
描述:当前日期及时间,与current_timestamp等效。
返回值类型:timestamp with time zone
示例:
openGauss=# SELECT transaction_timestamp(); transaction_timestamp ------------------------------- 2017-09-01 17:05:13.534454+08 (1 row) -
add_months(d,n)
描述:用于计算时间点d再加上n个月的时间。
d:timestamp类型的值,以及可以隐式转换为timestamp类型的值。
n:INTEGER类型的值,以及可以隐式转换为INTEGER类型的值。
返回值类型:timestamp
示例:
openGauss=# SELECT add_months(to_date('2017-5-29', 'yyyy-mm-dd'), 11) FROM sys_dummy; add_months --------------------- 2018-04-29 00:00:00 (1 row) -
last_day(d)
描述:用于计算时间点d当月最后一天的时间。
返回值类型:timestamp
示例:
openGauss=# select last_day(to_date('2017-01-01', 'YYYY-MM-DD')) AS cal_result; cal_result --------------------- 2017-01-31 00:00:00 (1 row) -
next_day(x,y)
描述:用于计算时间点x开始的下一个星期几(y)的时间。
返回值类型:timestamp
示例:
openGauss=# select next_day(timestamp '2017-05-25 00:00:00','Sunday')AS cal_result; cal_result --------------------- 2017-05-28 00:00:00 (1 row) -
tinterval(abstime, abstime )
描述:用两个绝对时间创建时间间隔。
返回值类型:tinterval
示例:
openGauss=# call tinterval(abstime 'May 10, 1947 23:59:12', abstime 'Mon May 1 00:30:30 1995'); tinterval ----------------------------------------------------- ["1947-05-10 23:59:12+09" "1995-05-01 00:30:30+08"] (1 row)

浙公网安备 33010602011771号