SQL允许NULL的某些字段莫名其妙插入的空字节是怎么回事呢?

时间:2022-09-20 10:21:57
这是sql2008r2里面的截图
SQL允许NULL的某些字段莫名其妙插入的空字节是怎么回事呢?

就是图中粉红色部分,复制出来是空的,导出后这个位置的数据也是空的,连个空格都不是,在sql里面也没有涉及这部分数据的更新,为什么会插入这种怪异的数据呢?怎么检查asp语句都查不出原因。。。感觉快崩溃了。。。。

这是导出为文本的截图
SQL允许NULL的某些字段莫名其妙插入的空字节是怎么回事呢?

红色色块是我做的标识!!

红色标识后面列或隔行列的数字 72 ,24 ,48 等是这些插入动作的次数,次数还不少,但是各字段不一样。

相关这部分数据写库的代码见---------》http://bbs.csdn.net/topics/391907755

5 个解决方案

#1


可能是换行符导致的。
一般来说,windows下的换行符是CR/LF,但是有些系统,或者软件可以将单个的 CR或者LF认作为换行。
你在数据库中,将这个字符转换成ASCII看看,是不是13,或者10

#2


引用 1 楼 shoppo0505 的回复:
可能是换行符导致的。
一般来说,windows下的换行符是CR/LF,但是有些系统,或者软件可以将单个的 CR或者LF认作为换行。
你在数据库中,将这个字符转换成ASCII看看,是不是13,或者10


我只会asp 怎么转换呢?

#3


空字符串或者空白也是这样的

#4


也有可能是tab键的ascii码,可以查查看是哪种字符
select * from t where col like '%' + char(13)+ '%' or col  like '%' + char(10)+ '%' or col  like '%' + char(9)+ '%'

#5


update table  set a=''
和  set a=null 
是不一样的

#1


可能是换行符导致的。
一般来说,windows下的换行符是CR/LF,但是有些系统,或者软件可以将单个的 CR或者LF认作为换行。
你在数据库中,将这个字符转换成ASCII看看,是不是13,或者10

#2


引用 1 楼 shoppo0505 的回复:
可能是换行符导致的。
一般来说,windows下的换行符是CR/LF,但是有些系统,或者软件可以将单个的 CR或者LF认作为换行。
你在数据库中,将这个字符转换成ASCII看看,是不是13,或者10


我只会asp 怎么转换呢?

#3


空字符串或者空白也是这样的

#4


也有可能是tab键的ascii码,可以查查看是哪种字符
select * from t where col like '%' + char(13)+ '%' or col  like '%' + char(10)+ '%' or col  like '%' + char(9)+ '%'

#5


update table  set a=''
和  set a=null 
是不一样的