日期:2014-05-18  浏览次数:20384 次

数据表中某些字段结尾出现半个汉字的情况该如何解决?
比如在前台的一些数据导入到数据表中之后,发现该表的某些字段结尾处的汉字被截掉一半。(每个字段本身是即可能使汉字,也可能是字母。如果是字符型的则都是定义为   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))