我想将旧信息存档在我的表格中。
如果T1C2中的值是一个数字(或少于5个字符),那么我想将其替换为存档一词和T1C1中的值。
T1C1 T1C2
1 London
2 New York
3 2342
4 Cardiff
5 2394
6 Sydney
7 2342
8 2343
9 7345
结果
T1C1 T1C2
1 London
2 New York
3 Archive3
4 Cardiff
5 Archive5
6 Sydney
7 Archive7
8 Archive8
9 Archive9
答案 0 :(得分:1)
您可以通过更新执行此操作:
update mytable
set t1c2 = 'Archive' + cast(t1c1 as varchar(255))
where t1c2 not like '%[^0-9]%';
您也可以isnumeric()
使用where
,但我需要检查其他条件:
where isnumeric(t1c2) = 1 and t1c2 not like '%[.e]%'
答案 1 :(得分:1)
试试这个:
UPDATE yourtable
SET T1C2 = 'Archive' + Cast(T1C1 AS VARCHAR(100))
WHERE isnumeric(T1C2) = 1
OR Len(T1C2) < 5