ToB企服应用市场:ToB评测及商务社交产业平台

标题: SQL server 特别字符"\u0000"处置惩罚 [打印本页]

作者: 三尺非寒    时间: 2024-8-27 23:57
标题: SQL server 特别字符"\u0000"处置惩罚
某天,接到用户反馈点击某个项目分组的时候页面报错,点击其他项目不报错。

开端以为是下标数字特别符号导致的。通过前台输出对应的数值后发现该字段末尾有个“\u0000”特别字符(ASCII字符char(0))。通常是导入数据时的格式问题或是程序处置惩罚时将页面中的换行字符保存数据库导致的。

像SQL server的SSMS中一样平常是不显示该字符的。通过DataGrip工具查询该字段,发现有这种特别字符(需要将光标移动至该字段中)。

 因此需要在数据库中将该表字段中包含此字符的都要查询出来举行处置惩罚掉。
但是查询该特别符号,不能简单的用 like '%nul%'大概直接将该段复制出来举行模糊查询。需要举行特别的字符编码举行转义查询。
  1. select * from tablename where columnname COLLATE Latin1_General_BIN LIKE '%' + CHAR(0) + '%'
复制代码

最后通过replace函数举行更换掉。
update tableName set columnName = replace( columnName COLLATE Latin1_General_BIN , char(0) , '') where xxxx=xxx
注意:需要将 COLLATE Latin1_General_BIN 放到要更换的字段名称后面。
参考链接 https://www.cnblogs.com/BinBinGo/p/11892154.html
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4