读书人

数据表中某些字段结尾出现半个汉字的情

发布时间: 2012-01-31 21:28:41 作者: rapoo

数据表中某些字段结尾出现半个汉字的情况该如何解决?
比如在前台的一些数据导入到数据表中之后,发现该表的某些字段结尾处的汉字被截掉一半。(每个字段本身是即可能使汉字,也可能是字母。如果是字符型的则都是定义为 varchar的)
不知道,有什么好方法可以在数据导入之后,在数据库中判断然后修改的?

奇怪的是,我用 ascii(REVERSE(field1)) 方法判断哪些结尾处半个汉字的,有时候
返回的0,有时候返回29。



[解决办法]
字段型改nvarchar(2000)後再入
[解决办法]
改成nvarchar试试
nvarchar是占两个字符的位置
其最大为nvarchar(4000),比varchar小一半

[解决办法]
修改为nvarchar,其含义是:每个中英文字符都是占用2B.
[解决办法]
可以这样取最后一个字节的编码, 假设你的列名为 col
CONVERT(int, SUBSTRING(CONVERT(varbinary, col), DATALENGTH(col), 1))

读书人网 >SQL Server

热点推荐