以下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.
所以原来的错误信息是错过的,但现在我更加困惑为什么不在那里.