SQL server 特别字符"\u0000"处置惩罚

打印 上一主题 下一主题

主题 564|帖子 564|积分 1692

某天,接到用户反馈点击某个项目分组的时候页面报错,点击其他项目不报错。

开端以为是下标数字特别符号导致的。通过前台输出对应的数值后发现该字段末尾有个“\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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表