SQL Server 有 Date_Format 函数吗?

Kin*_*han 8 sql-server-2005 sql-server date-format datetime

我发现的只是一个DateFormat我可以选择的预定义列表,就像这样

我记得在 MySQL(还有 PostgeSQL?)你可以定义你的日期格式:

DATE_FORMAT(now(),'&m_%Y') --for 02_2012 etc.
Run Code Online (Sandbox Code Playgroud)

SQL Server 有同样的东西吗?我看到人们必须编写一个函数来做这样的事情,它有内置的吗?


编辑:

我刚刚找到了这个DatePart功能。它可以以月份为数字,但总是返回 1 位数字,即使我使用 datePart(MM, getdate())

Mar*_*ith 16

还没有。

您需要CONVERT与样式参数一起使用DATEPART或与或一起使用DATENAME

SQL Server 2012 将具有FORMAT接受 .NET Framework 格式字符串的功能

句法:

FORMAT ( value, format [, culture ] )
Run Code Online (Sandbox Code Playgroud)

示例用法

SELECT FORMAT(getdate(), 'dd/MM/yyyy', 'en-US' ) 
Run Code Online (Sandbox Code Playgroud)

您始终可以使用 CLR 集成并创建您自己的 UDF,在 2005 或 2008 中执行相同的操作。