📜  T-SQL-日期函数(1)

📅  最后修改于: 2023-12-03 14:47:50.318000             🧑  作者: Mango

T-SQL日期函数

T-SQL的日期函数可以帮助程序员在SQL语句中轻松地处理日期和时间。这些函数可以用于获取和调整日期和时间的各个部分,计算日期和时间之间的差异,以及格式化日期和时间。下面是T-SQL常用的日期函数介绍:

1. GETDATE()

GETDATE()函数返回当前系统日期和时间,格式为datetime。

SELECT GETDATE();
2. DATEPART()

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;
3. DATEADD()

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;
4. DATEDIFF()

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;
5. CONVERT()

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语句中方便地处理日期和时间。