SQLServer2017对象名STRING_SPLIT无效

SQL Server 2017在使用“STRING_SPLIT”方法时报错:

 
 
1
select * from STRING_SPLIT('1,2,3,4,5',',')
 
 
1
2
消息 208,级别 16,状态 1,第 3 行
对象名 'STRING_SPLIT' 无效。

原因

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

posted @ 2024-09-04 09:10  极客船长  阅读(90)  评论(0编辑  收藏  举报