SQL Server 2012上的TRY_CONVERT失败

前端之家收集整理的这篇文章主要介绍了SQL Server 2012上的TRY_CONVERT失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下sql语句在sql Server 2012(SP1)11.0.3401.0版本上失败
DECLARE @b VARCHAR(10) = '12312.2'
SELECT TRY_CONVERT(DECIMAL(10,2),@b)

错误信息

Msg 195,Level 15,State 10,Line 2
'DECIMAL' is not a recognized built-in function name.

但在sql Server 2012(SP1)11.0.3393.0上可以正常工作

两个服务器都没有问题TRY_PARSE()

DECLARE @b VARCHAR(10) = '12312.2'
SELECT TRY_PARSE(@b AS DECIMAL(10,2))

更新:

经过进一步测试和尝试转换为不同类型后,又有不同的错误信息

DECLARE @b VARCHAR(10) = '12312'
SELECT TRY_CONVERT(INT,@b)

错误

error: Msg 195,Line 2
'TRY_CONVERT' is not a recognized built-in function name.

所以原来的错误信息是错过的,但现在我更加困惑为什么不在那里.

解决方法

检查您正在使用该函数的特定数据库数据库兼容性级别是否设置为数据库属性/选项/兼容性级别下的sql Server 2012(110).

猜你在找的MsSQL相关文章