Sql server SQL Server:数据长度不同的空varchar字段有问题

Sql server SQL Server:数据长度不同的空varchar字段有问题,sql-server,string,datalength,Sql Server,String,Datalength,对不起,我不能简明扼要地把这个写进标题 我在SQL Server 2008表格中为网站设置了字段,这些字段设置为varchar not null默认值“”[空字符串]。当然,它们中没有一个具有空值,但是对于多余的地址行和诸如此类的内容,有很多空值 这一切都很好,完全符合我的需要。然而,我们有另一个系统,根据需要同步和下载数据,其性质目前并不相关,但它在通过带有问号的时髦黑钻石字符的这些空字段时存在问题,就像有人编码错误一样。奇怪的是,空字段和同一列中包含字符的字段混合在一起,因此某些行空列将为空

对不起,我不能简明扼要地把这个写进标题

我在SQL Server 2008表格中为网站设置了字段,这些字段设置为varchar not null默认值“”[空字符串]。当然,它们中没有一个具有空值,但是对于多余的地址行和诸如此类的内容,有很多空值

这一切都很好,完全符合我的需要。然而,我们有另一个系统,根据需要同步和下载数据,其性质目前并不相关,但它在通过带有问号的时髦黑钻石字符的这些空字段时存在问题,就像有人编码错误一样。奇怪的是,空字段和同一列中包含字符的字段混合在一起,因此某些行空列将为空,而另一些行则为奇数字符

我查看了SQL数据中显示不同的两条记录,它们都有空值(ad1=''),两者都不为null,但是当您获取数据长度时,通过OK得到的一条是1,而另一条是0。一个数据长度为一个空格的ascii码为32

谁能解释一下为什么会发生这种情况,以及我能做些什么来确保数据的一致性


Ta

此列中的数据来自何处?它是由用户添加的,或是从csv文件导入的-我查看了差异,从csv导入的两个数据创建了不同的值。