這樣試試:
update zkcc
set tx=left(xh,(len(xh) - 2))+'.bmp';update zkcc
set tx=left(xh,len(xh) - 4)+right(xh,2)+'.bmp'
where ASCII(right(xh,2)) > 97;update zkcc
set tx=xh+'.bmp'
where left(xh,1)='R';
update zkcc
set tx=left(xh,(len(xh) - 2))+'.bmp';update zkcc
set tx=left(xh,len(xh) - 4)+right(xh,2)+'.bmp'
where ASCII(right(xh,2)) > 97;update zkcc
set tx=xh+'.bmp'
where left(xh,1)='R';
(27004 row(s) affected)
(0 row(s) affected)Server: Msg 8152, Level 16, State 9, Line 8
String or binary data would be truncated.
The statement has been terminated.
update zkc set tx=case when asc(xh,len(xh))>255 then left(xh,len(xh) - 4)+right(xh,2)+'.bmp' when left(xh,1)='R' then xh+'.bmp' else left(xh,(len(xh) - 2))+'.bmp' end;
问题是最后一位是汉字怎么取,怎么写? 第一种情况是可以了,关键是第二种情况,是这样的。当型号的最后一位是汉字时,我要把汉字前的两位去掉,在SQL SERVER 里一个汉字也是一位吗?
请教高手怎么写?我照上面说的还是不行,请多多指教。谢了!
select * from zkcc
where right(xh,1)='芯' or right(xh,1)='底'