mssql sqlserver错误修复-“string_split无效的对象名称”


摘要:
下文讲述sqlserver 2016数据库中,string_split函数无法使用的疑问。


 DECLARE @tmpString NVARCHAR(300) = '猫猫小屋,maomao365.com,sql技巧网站,sql教程网站';
 select  value from string_split(@tmpString, ',');  ---采用逗号将字符串分隔为数据集
 -------输出一下错误信息--------------------- 
消息208,级别16,状态1,行7 
无效的对象名称'STRING_SPLIT' 

————————————–

出现错误的原因:
数据库兼容性别人的异常。
sqlserver 2016中新增函数”string_split”,如果数据库是sqlserverr 2014版本或其它版本引入过来的,那么此时使用此功能,则会出现相应的错误信息,‘
此时我们需要修改兼容模式的级别,然后就可以正常使用string_split函数
如下所示:
—————————————
SET COMPATIBILITY_LEVEL = 130 –sql server 2016
go
SET COMPATIBILITY_LEVEL = 140 –sql server 2017
go

DECLARE @tmpString NVARCHAR(300) = ‘猫猫小屋,maomao365.com,sql技巧网站,sql教程网站’;
select value from string_split(@tmpString, ‘,’);

——输出
猫猫小屋
maomao365.com
sql技巧网站
sql教程网站
—————————————