IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    SQLServer 报错“消息 208,级别 16,状态 1,第 6 行 对象名 'STRING_SPLIT' 无效”的问题处理

    牧人发表于 2023-09-28 08:37:00
    love 0

    开发在运行一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。



沪ICP备19023445号-2号
友情链接