这个有点坑,搞了我很久,大概就是,那个“空格”有可能不是空格,可能是换行符或者 Tab
。
Control character | Value |
---|---|
Tab | char(9) |
Line feed | char(10) |
Carriage return | char(13) |
我不太清楚后两者的区别,但是无论是哪个,你都可以用 LIKE
去搜索一下你的数据到底包含了哪个,全部替换即可。
SELECT * FROM table WHERE xxx LIKE '%' + CHAR(10) + '%'
UPDATE table SET xxx = REPLACE(xxx, CHAR(10), ' ') WHERE xxx LIKE '%' + CHAR(10) + '%'
大概是这样的代码啦~而且 SQL Server 直接从结果集复制出来的,基本上都会被复制成空格,所以不这样查询的话,其实挺难知道里面是空格还是换行符的。