GaussDB时间函数

(1)当前时间,timestamp是时间戳类型。

 

  • select now() //2022-02-25 14:48:35

(2)当前日期,date是日期类型。

(3)to_char将时间类型转化指定格式的字符,text是无长度限制的字符类型。

 

(4)date_trunc(‘month’,current_timestamp):截断成月份精度,也可以指定其他精度,例如:year/month/day/hour/minute/second

 

(5)extract(‘day’ from timestamp’2022-02-15 18:22:44’):从时间戳中提取指定子域的值,可指定的子域同样有:year/month/day/hour/minute/second

(6)当前日期的前3个月

(7)当前日期的后三个月,以yyyymmdd格式显示0

(8)常用时间转换

-- 本月。如2019-02
SELECT to_char(now(),'YYYY-MM')

-- 本月第一天,日期格式 。 例如 2019-02-01
SELECT to_char(now(),'YYYY-MM-01')

-- 本月第一天。时间戳格式。 例如 2019-02-01 00:00:00
SELECT to_char(now(),'YYYY-MM-01 00:00:00')

SELECT date_trunc('month',now())

-- 本月第一天12点 : 2019-02-01 12:00:00+08

SELECT date_trunc('month',now()) +interval '12 h';

-- 本月最后一天。时间戳格式。

SELECT date_trunc('month', now()::date) + interval '1 month' - interval '1 day';

-- 下个月第一天 ,to_date(text):将文本类型的值转换为指定格式的时间戳。

SELECT to_date((to_char(( now() + interval '1 month'),'YYYY-MM-01')),'YYYY-MM-DD')

-- 上个月第一天 

SELECT to_date((to_char(( now() + interval '-1 month'),'YYYY-MM-01')),'YYYY-MM-DD')

-- 本季度第一天

SELECT date_trunc('quarter',now())

-- 上一季度第一天
SELECT date_trunc('quarter',now() + interval '-3 month')

-- 下一季度第一天
SELECT date_trunc('quarter',now() + interval '3 month')

 

posted @ 2023-03-17 09:31  最萌小胡胡  阅读(2519)  评论(0编辑  收藏  举报