我的问题是:我有一个varchar
-type 列(ID),其中包含如下字符串记录:“123056; 96445; 123100; 45893; 201971”,我想将它们划分为下一个字段:
ID_1 | ID_2 | ID_3 | ID_4 | ID_5
123056 | 96445 | 123100 | 45893 | 201971
实际上,我使用了以下代码:
update MyTable
set ID_1 = IDs
接着:
update MYTable
set ID_2 =
SUBSTRING(ID_1, CHARINDEX (';', ID_1)+2, LEN(ID_1))
where ID_1 like '%;%'
update MYTable
set FRS_ID_1 =
SUBSTRING(FRS_ID_1, 1, CHARINDEX (';', FRS_ID_1)-1)
where ID_1 like '%;%'
这ID_1 like '%;%'
是必要的,因为某些字段仅包含一个数字而不是列表。所以我运行了这段代码五次,手动更新了从ID_1
toID_2
等的列名,但它不专业而且很慢。
我如何通过迭代或其他方式解决它?
谢谢你。