Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2016,对象名称“STRING\u SPLIT”无效_Sql_Sql Server_Tsql_Split - Fatal编程技术网

SQL Server 2016,对象名称“STRING\u SPLIT”无效

SQL Server 2016,对象名称“STRING\u SPLIT”无效,sql,sql-server,tsql,split,Sql,Sql Server,Tsql,Split,在SQL Server 2016中,我通过函数收到此错误 错误: 无效的对象名称“STRING\u SPLIT” 确保数据库兼容性级别为130 您可以使用以下查询对其进行更改: ALTER DATABASE[DatabaseName]设置兼容性\u级别=130 如注释中所述,您可以使用以下命令检查数据库的当前兼容性级别: 从sys.databases中选择compatibility_level,其中name='Your Database name'; 我用的是Split_string,在英语中语

在SQL Server 2016中,我通过函数收到此错误

错误:

无效的对象名称“STRING\u SPLIT”


确保数据库兼容性级别为130

您可以使用以下查询对其进行更改:

ALTER DATABASE[DatabaseName]设置兼容性\u级别=130 如注释中所述,您可以使用以下命令检查数据库的当前兼容性级别:

从sys.databases中选择compatibility_level,其中name='Your Database name';
我用的是Split_string,在英语中语法正确,但我的老眼睛没有看到它应该是string_Split。。。所以,如果你像我一样有点精神障碍,那么检查一下你输入的命令是否正确

如果无法更改正在使用的数据库的兼容性级别,可以尝试查看同一服务器上的其他数据库,以找到具有更高兼容性级别的数据库。我发现目标服务器上的主数据库的兼容性级别为140,因此我连接到该数据库,然后执行我的查询,该查询实际上针对服务器上兼容性级别低于130的其他数据库中的完全限定表运行。成功了!只需使用查询服务器上的各种数据库即可

SELECT compatibility_level  FROM sys.databases WHERE name = '<database_name>'; 

要查找>=130的数据库,您需要更改数据库的兼容性级别。 要做到这一点,请尝试下面的查询,并将兼容性级别更改为150


ALTER DATABASE[DATABASE_Name]SET COMPACITY_LEVEL=150

检查运行数据库的数据库的兼容性级别。您可以将其设置得更低。请确保数据库兼容性级别为130。与此主题相关的问题有很多。@JeroenMostert+1用于单词honking:Life's short to read documentation:Simple,只要改变宇宙的引力常数,如果我的sql server只允许我使用100、90和110,那该怎么办?@E.Rawrdríguez.opanim,那么你不能使用STRING_SPLIT函数。您可以构建自己的函数。检查此链接通过从sys.databases中选择compatibility_level检查数据库兼容性,其中name='your database name';SQL Server 2016没有兼容级别150。这里限制为130,Yahfoufi的回答是正确的
SELECT compatibility_level  FROM sys.databases WHERE name = '<database_name>';