SQLServer2017对象名STRING_SPLIT无效
SQL Server 2017在使用“STRING_SPLIT”方法时报错:
1
|
select * from STRING_SPLIT('1,2,3,4,5',',')
|
1
|
消息 208,级别 16,状态 1,第 3 行
|
原因
STRING_SPLIT方法要求数据库的兼容级别至少为130。当级别小于130时,SQL Server无法找到STRING_SPLIT函数。
STRING_SPLIT方法介绍可参考:https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver15
使用以下SQL语句查看数据库的兼容级别:
1
|
SELECT compatibility_level FROM sys.databases WHERE name = 'DBName'
|
解决方法
使用以下SQL语句修改数据库兼容级别:
1
|
ALTER DATABASE [DatabaseName] SET COMPATIBILITY_LEVEL=140
|
140代表SQLServer2017