在 SQL Server 中,GETDATE()
函数返回当前日期和时间,默认格式是 yyyy-mm-dd hh:mi:ss:mmm
(其中 mmm
是毫秒)。如果你想要返回不同格式的日期,你需要使用 CONVERT()
函数或者 FORMAT()
函数来格式化日期。
使用 CONVERT()
函数
CONVERT()
函数允许你指定日期时间的样式,从而返回不同格式的日期。以下是一些例子:
-- 返回 yyyy-mm-dd 格式的日期
SELECT CONVERT(varchar, GETDATE(), 23) AS DateOnly;
-- 返回 yyyy-mm-dd hh:mi:ss 格式的日期时间
SELECT CONVERT(varchar, GETDATE(), 120) AS DateTime;
-- 返回 yyyymmdd 格式的日期
SELECT CONVERT(varchar, GETDATE(), 112) AS DateNumeric;
-- 返回 hh:mi:ss 格式的时间
SELECT CONVERT(varchar, GETDATE(), 108) AS Time;
CONVERT()
函数的第三个参数是样式代码,它定义了输出的格式。你可以在 SQL Server 文档中找到所有支持的样式代码。
使用 FORMAT()
函数
从 SQL Server 2012 开始,你可以使用 FORMAT()
函数来格式化日期和时间,它返回一个格式化的日期和时间的字符串。FORMAT()
函数更加灵活,允许你使用自定义的格式字符串。以下是一些例子:
-- 返回 yyyy-MM-dd 格式的日期
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS DateOnly;
-- 返回 yyyy-MM-dd HH:mm:ss 格式的日期时间
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS DateTime;
-- 返回自定义格式的日期时间
SELECT FORMAT(GETDATE(), 'dddd, dd MMMM yyyy HH:mm') AS CustomDateTime;
FORMAT()
函数的第一个参数是你要格式化的日期或时间值,第二个参数是一个格式字符串,你可以根据需要自定义这个字符串。
选择使用 CONVERT()
还是 FORMAT()
函数通常取决于你的具体需求和 SQL Server 的版本。FORMAT()
函数提供了更多的灵活性和自定义选项。