📅  最后修改于: 2023-12-03 14:47:50.318000             🧑  作者: Mango
T-SQL的日期函数可以帮助程序员在SQL语句中轻松地处理日期和时间。这些函数可以用于获取和调整日期和时间的各个部分,计算日期和时间之间的差异,以及格式化日期和时间。下面是T-SQL常用的日期函数介绍:
GETDATE()函数返回当前系统日期和时间,格式为datetime。
SELECT GETDATE();
DATEPART()函数用于获取日期和时间的各个部分,如年、月、日、小时、分钟、秒等等。
SELECT DATEPART(YEAR, GETDATE()) as year,
DATEPART(MONTH, GETDATE()) as month,
DATEPART(DAY, GETDATE()) as day,
DATEPART(HOUR, GETDATE()) as hour,
DATEPART(MINUTE, GETDATE()) as minute,
DATEPART(SECOND, GETDATE()) as second;
DATEADD()函数用于在日期和时间上添加或减去指定的时间间隔,如年、月、日、小时、分钟、秒等等。
SELECT DATEADD(YEAR, 1, GETDATE()) as next_year,
DATEADD(MONTH, 3, GETDATE()) as next_month,
DATEADD(DAY, 7, GETDATE()) as next_week,
DATEADD(HOUR, -1, GETDATE()) as last_hour,
DATEADD(MINUTE, 30, GETDATE()) as next_30mins,
DATEADD(SECOND, 10, GETDATE()) as next_10secs;
DATEDIFF()函数用于计算两个日期或时间之间的差异,如年、月、日、小时、分钟、秒等等。
SELECT DATEDIFF(YEAR, '1990-01-01', GETDATE()) as age_in_years,
DATEDIFF(MONTH, '2022-01-01', GETDATE()) as months_till_next_year,
DATEDIFF(DAY, '2022-10-01', GETDATE()) as days_till_october_2022,
DATEDIFF(HOUR, '2022-10-01 12:00:00', GETDATE()) as hours_since_noon_october_1_2022,
DATEDIFF(MINUTE, '2022-10-01 12:30:00', GETDATE()) as minutes_since_12_30_october_1_2022,
DATEDIFF(SECOND, '2022-10-01 12:00:10', GETDATE()) as seconds_since_12_00_10_october_1_2022;
CONVERT()函数用于将日期和时间的格式转换为不同的数据类型,如字符、整数、浮点数等等。
SELECT CONVERT(VARCHAR(10), GETDATE(), 101) as formatted_date,
CONVERT(INT, DATEPART(HOUR, GETDATE())) as current_hour,
CONVERT(FLOAT, DATEPART(SECOND, GETDATE())) as current_second;
以上就是T-SQL常用的日期函数介绍,使用这些函数可以在SQL语句中方便地处理日期和时间。