1、获取当前系统时间
select Now();
select current_timestamp;
-- Now()/current_timestamp展示当前系统的时间,日期格式
2、获取当前日期或时间
select current_date;
-- 当前日期
select current_time;
-- 当前时间
3、查询偏移时间
select (Now() - interval '1 day')
-- 将查询时间结果偏移一天到昨天的当前时刻
select (Now() - interval '1 month')
-- 将查询时间结果偏移一月到上个月的当前时刻
select (Now() - interval '1 year')
-- 将查询时间结果偏移一年到上年的当前时刻
select (Now() - interval '1 week ')
-- 将查询时间结果偏移一周到上周的当前时刻
偏移可以用到的时间单位:
year :年
week :该天在所在的年份里是第几周
timezone_minute:时区偏移量的分钟部分
timezone_hour:时区偏移量的小时部分
timezone:与UTC的时区偏移量,以秒记。正数对应 UTC 东边的时区,负数对应 UTC 西边的时区
second :秒
quarter:日期中年所在季度(1-4)
month:月(0-11)
minute:分钟(0-59)
milliseconds:
isodow:周中的第几天 [1-7] 星期一:1) 星期天:(7)
dow:周中天的索引(0-6 ;星期天是 0)
doy:一年的第几天(1-365/366)
hour:小时(0-23)
day: 天(1-31)
3、查询年月日
select to_char(Now(),'yyyy')
-- 查询当前年
select to_char((Now() - interval '1 year') ,'yyyy')
-- 查询上一年
select to_char(Now(),'yyyy-MM')
-- 查询当前月
select to_char((Now() - interval '1 month') ,'yyyy-MM')
-- 查询上个月
select to_char(Now(),'yyyy-MM-dd')
-- 查询当前天
select to_char((Now() - interval '1 day') ,'yyyy-MM-dd')
-- 查询昨天
4、查询本周的数据
-- 查询某个时间的周一
SELECT ( DATE '2020-10-23' - INTERVAL '1 day' - ( EXTRACT ( dow FROM ( DATE'2020-10-23' - INTERVAL '1 day' ) ) - 1 || ' day' ) :: INTERVAL ) :: DATE;
-- 减1 是因为得到的是以周一是星期的开始
-- 查询本周的数据
SELECT( DATE ( Now() ) - ( EXTRACT ( dow FROM DATE ( Now() ) ) - 1 || ' day' ) :: INTERVAL ) :: DATE startasy,
( DATE ( Now() ) - ( EXTRACT ( dow FROM DATE ( Now() ) ) - 1 || ' day' ) :: INTERVAL ) :: DATE + 6 endday
from table d LIMIT 5;
-- 本周周末
SELECT to_char(CURRENT_DATE +cast(-1*(TO_NUMBER(to_char(CURRENT_DATE,'D'),'99')-2)+6 ||' days' as interval),'yyyy-mm-dd');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。