关于:无法执行值从 char 到 char 的隐性转换,因为该值的排序规则因排序规则冲突而未能解决

今天执行了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'

 

posted @ 2008-08-19 15:24  finema  阅读(459)  评论(0编辑  收藏  举报