SQLServer 报错“消息 208,级别 16,状态 1,第 6 行 对象名 'STRING_SPLIT' 无效”的问题处理
开发在运行一SQL时报错:
消息 208,级别 16,状态 1,第 6 行 对象名 'STRING_SPLIT' 无效
处理方法:
-- 查看数据库兼容级别
SELECT compatibility_level FROM sys.databases WHERE name = 'dbname';
--如果不是130即兼容SQLServer2016的话修改下数据库兼容级别
ALTER DATABASE dbname SET COMPATIBILITY_LEVEL = 130;
STRING_SPLIT函数官方说明:
兼容性级别为 130
STRING_SPLIT 要求兼容性级别至少为 130。 级别低于 130 时,SQL Server 找不到 STRING_SPLIT 函数。
https://learn.microsoft.com/zh-cn/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver15
如果修改后SQL代码还报错,在SQL最前面加上USE dbname; 即可正常。
经过测试数据库版本是SQL2019版本其实不修改兼容级别直接在前面带上USE dbname;打开库操作也可使用STRING_SPLIT。
Tag标签:「STRING_SPLIT 兼容」更新时间:「2023-09-28 09:16:15」阅读次数:「1701」