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

时间:2012-07-16 06:53:24

标签: sql sql-server sql-server-2008

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

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

  

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

如何使用FORMAT功能?

3 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:6)

您可以使用:

    select convert(varchar(12) , @d , 3)

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

答案 2 :(得分:2)

根据:FORMAT Function (DAX), (SQL Server 2008 R2),SQL Server 2008 R2中存在FORMAT()函数...

编辑:正如所指出的,上述链接仅与DAX相关。正确的(FORMAT (Transact-SQL))指定T-SQL中的FORMAT仅从SQL Server 2012开始可用...