sqlserver GETDATE() 可以返回不同格式的日期吗

在 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() 函数提供了更多的灵活性和自定义选项。

posted @ 2024-11-04 14:59  yinghualeihenmei  阅读(412)  评论(0)    收藏  举报