1.获取当前日期的函数和获取当前时间的函数
-
CURRENT_DATE函数的作用是将当前日期按照’YYYY-MM-DD’格式的值返回,具体格式根据函数用在字符串或是数字预警中而定。
select current_date;
-
CURRENT_TIME函数的作用是将当前时间以’HH:MM:SS’的格式返回,具体格式根据函数用在字符串或是数字语境中而定。
select current_time;
-
LOCALTIME函数的作用是将当前时间以’HH:MM:SS’的格式返回,唯一和CURRENT_TIME函数不同的是返回时不带时区的值。
select localtime;
2.获取当前日期和时间的函数
CURRENT-TIMESTAMP、LOCALTIMESTAMP和NOW()三个函数的作用相同,均是返回当前日期和时间值,格式为’YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS,具体格式根据函数是否用在字符串或数字语境中而定。
select current_timestamp,localtimestamp,now();
3个函数返回的日期和时间时相同的。唯一不同的就是LOCALTIMESTAMP函数的返回值不带时区。
3.获取日期指定值的函数
EXTRACT(type FROM date)函数从日期中提取一部分,而不是执行日期运算。
-
使用EXTRACT函数从日期中提取日份
select extract(day from timestamp '2018-12-29 08:37:00');
-
使用EXTRACT函数从日期中提取月份
select extract(month from timestamp '2018-12-29 08:37:00')
-
使用EXTRACT函数从日期中提取年份
select extract(year from timestamp '2018-12-29 08:37:00')
-
使用EXTRACT函数查询指定日期是一年中的第几天
select extract(doy from timestamp '2018-12-29 08:37:00')
-
使用EXTRACT函数查询指定日期是一周中的星期几
select extract(dow from timestamp '2018-12-29 08:37:00')
此函数的星期编号是0~6,星期日返回结果0 -
使用EXTRACT函数查询指定日期是该年中的第几季度
select extract(quarter from timestamp '2018-12-29 08:37:00')
4.日期和时间的运算操作
-
计算指定日期加上间隔天数后的结果
select date '2018-12-29 08:56:00' + integer '10';
-
计算指定日期加上间隔小时后的结果
select date '2018-12-09 08:58:00' + interval '3 hour';
-
计算指定日期加上指定时间后的结果
select date '2018-12-29 09:01:00' + time '06:00';
-
计算指定日期和时间加上间隔时间后的结果
select timestamp '2018-12-29 09:05:00' + interval '10 hours'
-
计算指定日期时间的间隔天数
select date '2018-12-29' - date '2018-12-17';
-
计算指定日期减去间隔天数后的结果
select date '2018-12-29' - integer '10';
-
计算整数与天数相乘的结果
select 15 * interval '3 day';
-
计算小时数与整数相乘的结果
select interval '1 hour' / integer '2';