📜  Teradata日期时间函数(1)

📅  最后修改于: 2023-12-03 15:20:36.167000             🧑  作者: Mango

Teradata日期时间函数

Teradata 提供了众多的日期时间函数,这些函数可以用于日期和时间的转换、日期间隔的计算、日期比较等。本文将对常用的日期时间函数进行介绍。

日期和时间的转换
DATE

DATE 函数可以将形如 YYYY-MM-DD 的字符型日期转换为日期型。

SELECT DATE('2022-01-01');
-- 返回:2022-01-01
TIME

TIME 函数可以将形如 HH:MI:SS.ssssss 的字符型时间转换为时间型。

SELECT TIME('12:34:56.789000');
-- 返回:12:34:56.789000
TIMESTAMP

TIMESTAMP 函数可以将形如 YYYY-MM-DD HH:MI:SS.ssssss 的字符型日期时间转换为日期时间类型。

SELECT TIMESTAMP('2022-01-01 12:34:56.789000');
-- 返回:2022-01-01 12:34:56.789000
TO_CHAR

TO_CHAR 函数可以将日期时间型转换为字符型,具体的格式需要使用对应的格式控制符。例如 %Y 表示年份,%m 表示月份,%d 表示日期,%H 表示小时,%M 表示分钟,%S 表示秒,%F 表示毫秒。

SELECT TO_CHAR(TIMESTAMP '2022-01-01 12:34:56.789000', 'YYYY-MM-DD HH24:MI:SS.FF6');
-- 返回:2022-01-01 12:34:56.789000
日期间隔的计算
INTERVAL

INTERVAL 函数可以创建一个指定类型和值的日期间隔类型。

SELECT INTERVAL '2' YEAR;
-- 返回:+02-00
SELECT INTERVAL '3' MONTH;
-- 返回:+03-00
SELECT INTERVAL '10' DAY;
-- 返回:+10 00:00:00.000000
SELECT INTERVAL '5' HOUR;
-- 返回:+00:05:00.000000
SELECT INTERVAL '30' MINUTE;
-- 返回:+00:00:30.000000
SELECT INTERVAL '500' MICROSECOND;
-- 返回:+00:00:00.000500
ADD_MONTHS

ADD_MONTHS 函数可以在日期上加上指定的月数,返回新的日期。

SELECT ADD_MONTHS(DATE '2022-01-31', 1);
-- 返回:2022-02-28
ADD_YEARS

ADD_YEARS 函数可以在日期上加上指定的年数,返回新的日期。

SELECT ADD_YEARS(DATE '2022-02-28', 1);
-- 返回:2023-02-28
MONTHS_BETWEEN

MONTHS_BETWEEN 函数计算两个日期之间的月份差。

SELECT MONTHS_BETWEEN(DATE '2022-03-31', DATE '2022-01-01');
-- 返回:2
日期比较
CURRENT_DATE

CURRENT_DATE 函数返回当前日期。

SELECT CURRENT_DATE;
-- 返回:2022-08-17
CURRENT_TIMESTAMP

CURRENT_TIMESTAMP 函数返回当前日期时间。

SELECT CURRENT_TIMESTAMP;
-- 返回:2022-08-17 12:34:56.789000
EXTRACT

EXTRACT 函数可以提取日期时间值的各个部分,例如年份、月份、日等等。

SELECT EXTRACT(YEAR FROM DATE '2022-08-17');
-- 返回:2022
SELECT EXTRACT(MONTH FROM TIMESTAMP '2022-08-17 12:34:56.789000');
-- 返回:8
SELECT EXTRACT(DAY FROM TIMESTAMP '2022-08-17 12:34:56.789000');
-- 返回:17