今天执行了1个更新语句,大致如下
update Table1 set FieldA=FieldB+Right(FieldA,4) where FieldA='XXXXXXXX'
sql提示:
无法执行值从 char 到 char 的隐性转换,因为该值的排序规则因排序规则冲突而未能解决
使用sp_help Table1,主要信息为
FieldA char(8) SQL_Latin1_General_CP1_CI_AS
FieldB char(4) Chinese_PRC_CI_AS
得知原来两者的排序规则不一样,导致了以上update语句出问题,把update语句改成如下,问题解决
update Table1 set FieldA=FieldB+Right(FieldA,4) COLLATE database_default where FieldA='XXXXXXXX'