TRY_CAST 不是可识别的内置函数名称

abh*_*bhi 6 sql-server ssms sql-server-2014

我对 SQL Server Management Studio 的行为感到困惑。我已连接到 SQL Server 数据库 - 版本:

Microsoft SQL Server 2014 (SP1-CU3) (KB3094221) - 12.0.4427.24 (X64) 
    Oct 10 2015 17:18:26 
    Copyright (c) Microsoft Corporation
    Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
Run Code Online (Sandbox Code Playgroud)

当我从管理工作室运行以下查询时,它会返回正确的输出。

SELECT TRY_CAST('ax' AS decimal)

SELECT TRY_CAST('4.0' as decimal)
Run Code Online (Sandbox Code Playgroud)

但是,内置编辑器给我一条消息,说无法识别此功能。

内置功能

编辑添加:Sql Server Management Studio 版本。 SQL Server 管理工作室 2014

Kan*_*amy 5

它可从 sql server 2012 获得。检查

select @@version
Run Code Online (Sandbox Code Playgroud)

还要检查数据库的兼容模式

select name, compatibility_level from sys.databases
Run Code Online (Sandbox Code Playgroud)

如果兼容模式小于 110,则使用 alter database 将其设置为 >=110

alter database yourdatabasename set compatibility_level = 120
Run Code Online (Sandbox Code Playgroud)


Gar*_*ons 3

这只是一个智能感知错误。由于某种原因,MS 未在 SSMS 2014 中包含 try_cast,尽管它在 SSMS 2016 中被认为是有效函数。