DECLARE @d DATETIME = '01/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS US_Result;
我在SQL Server 2008 R2中使用上面的代码,但遇到错误:
'FORMAT'不是公认的内置函数名称。
如何使用FORMAT
功能?
答案 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开始可用...