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

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

'FORMAT' 不是可识别的内置函数名称。

如何使用FORMAT功能?

4

3 回答 3

8

FORMAT 功能从 2012 版开始可用。在早期版本中,使用这个:

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

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

于 2012-07-16T07:01:15.233 回答
8

你可以使用这个:

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

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

于 2012-07-16T07:26:33.997 回答
2

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

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

于 2013-05-23T09:39:08.630 回答