-- 转换日期和时间数据类型
DECLARE @d1 DATE, @t1 TIME, @dt1 DATETIME;
SET @d1 = GETDATE();
SET @t1 = GETDATE();
SET @dt1 = GETDATE();
SET @d1 = GETDATE();
SELECT @d1 AS [DATE], -- 2023-11-16
CAST(@d1 AS DATETIME) AS [date as datetime], -- 2023-11-16 00:00:00.000
@t1 AS [TIME], -- 16:49:26.1900000
CAST(@t1 AS DATETIME) AS [time as datetime], -- 1900-01-01 16:49:26.190
@dt1 AS [DATETIME], -- 2023-11-16 16:49:26.190
CAST(@dt1 AS DATE) AS [datetime as date], -- 2023-11-16
CAST(@dt1 AS TIME) AS [datetime as time]; -- 16:49:26.1900000
-- 使用 CONVERT 处理不同格式的 datetime 数据
SELECT CONVERT(NVARCHAR, GETDATE(), 20), -- 2023-11-16 16:53:11
CONVERT(NVARCHAR, GETDATE(), 23) -- 2023-11-16