FORMAT函数在sql server 2008 R2中不起作用

RAK*_*KAR 8 sql sql-server sql-server-2008

DECLARE @d DATETIME = '01/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS US_Result;
Run Code Online (Sandbox Code Playgroud)

我在SQL Server 2008 R2中使用上面的代码,但它遇到错误:

'FORMAT'不是公认的内置函数名称.

我该如何使用FORMAT功能?

Mad*_*nan 7

FORMAT功能从2012版开始提供.在早期版本中,使用此:

DECLARE @d DATETIME = '01/01/2011'; 
SELECT replace(replace(' '+convert(varchar(10),@d,101),' 0',''),'/0','/')
Run Code Online (Sandbox Code Playgroud)

但是,格式化是前端应用程序的工作.


小智 7

你可以用这个:

    select convert(varchar(12) , @d , 3)
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx更多标准日期格式.