一表a,字段1 为varchar类型,其中数据有的可以转成int,有的不可以, 字段2为int类型。
要求更新字段2,如果字段1中的数据可以转换成int,则更新字段2,如果不可以转换成int,则字段2为空就可以数据如下:字段1 字段2
1
var1
var2
2
3
更新后结果:
字段1 字段2
1 1
var1
var2
2 2
3 3
要求更新字段2,如果字段1中的数据可以转换成int,则更新字段2,如果不可以转换成int,则字段2为空就可以数据如下:字段1 字段2
1
var1
var2
2
3
更新后结果:
字段1 字段2
1 1
var1
var2
2 2
3 3
set col2 = case when isnumeric(col1)=1 then convert(int,col1) end
update tb
set 字段2=字段1
where ISNUMERIC(字段1)=1
set col2 = case when isnumeric(col1)=1 then convert(int,col1) end
成功了