ITPub博客

首页 > > > SQL server 解析json 遇到‘数据类型 text 对于 json_value 函数的参数 1 无效。’

SQL server 解析json 遇到‘数据类型 text 对于 json_value 函数的参数 1 无效。’

作者:飘絮絮絮丶 时间:2023-03-22 17:05:55 0 删除 编辑

我都疯了

原因:我的字段数据类型为text, 当text字段长度超过8000或ntext字段长度超过4000字节时多出的字节会被截断。

解决办法:将字段转换为 NVARCHAR(MAX)


修改前

select 
JSON_VALUE(registerdata,'$.addtime') as key1
,JSON_VALUE(registerdata,'$.user') as VALUE1  
from  [wzh].[dbo].[m_web_yghs_hsjl] a  
where  uid='50301' and state=2 

修改后

select 
JSON_VALUE(cast (registerdata as NVARCHAR(MAX)),'$.addtime') as key1
,JSON_VALUE(cast (registerdata as NVARCHAR(MAX)),'$.user') as VALUE1  
from  [wzh].[dbo].[m_web_yghs_hsjl] a  
where  uid='50301' and state=2 

yeah.

参考:Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3152625/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42174