SQL Server 2008 R2中的FORMAT函数无法正常工作

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

我正在使用SQL Server 2008 R2中的以上代码,但是遇到了一个错误:

'FORMAT'不是一个被识别的内置函数名称。

我该如何使用FORMAT函数?


3
我该如何使用FORMAT函数?升级到2012版本,或编写自己的CLR函数以模仿此函数用于早期版本。 - Martin Smith
SQL Server中没有格式化函数。有一个Cast和Convert函数,可以将一种数据类型转换为另一种。您必须使用convert函数。 - Waqar Janjua
3
@WaqarJanjua已经说过了,只有在SQL Server 2012及以上版本中才有“FORMAT”函数。重复评论并不能改变这一点。 - Christian.K
@Christian.K 我不知道那个 :( - Waqar Janjua
1
@Christian.K 是的,它在SQL Server 2012中。 - Waqar Janjua
显示剩余3条评论
3个回答

8

FORMAT函数可在2012版本及以后的版本中使用。在早期的版本中,使用以下方法:

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

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

通常应在列或变量后使用该函数。类似于@d.FORMAT('d','en-US')。 - Pierre

8

2

2
就此而言,“DAX”部分指的是它是数据分析表达式的一部分,只能在PowerPivot中使用,这是一个Excel 2010(+?)附加组件,可提供更好的工具来连接外部数据,包括SQL Server 2008。 - DoraTrix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接