0
我有一個表T1
,它有一列A1
。該塔具有值等James Patterson%Michael Ledwidge
將列的值拆分爲2個不同的列
我需要在這些列中的值被劃分成其他2列
A1 =詹姆斯帕特森
A2 =邁克爾·萊德奇
同樣,有20個記錄在表T1
。
這怎麼辦?
我有一個表T1
,它有一列A1
。該塔具有值等James Patterson%Michael Ledwidge
將列的值拆分爲2個不同的列
我需要在這些列中的值被劃分成其他2列
A1 =詹姆斯帕特森
A2 =邁克爾·萊德奇
同樣,有20個記錄在表T1
。
這怎麼辦?
你說,兩個其他列,但其中一個似乎是相同的,A1
。
總之:
UPDATE T1
SET
A1 = SUBSTRING(A1, 1, CHARINDEX('%', A1) - 1),
A2 = STUFF(A1, 1, CHARINDEX('%', A1), '')
WHERE CHARINDEX('%', A1) > 0
你想要做這種分裂用於顯示目的,或者是你在尋找使存儲在數據庫中的數據永久的改變? – 2011-03-10 10:14:53
永久變更 – Liberalpearl 2011-03-10 14:37:43
如果兩列要存儲相同類型的數據(例如,兩者都是標識作者),則應將它們移出到單獨的表中,每個值一行,並將外鍵返回到單個在你現有的表格中排。這避免了複雜的搜索(在您的設計中,您現在必須搜索A1和A2),並且允許將來添加無限數量的「An」值,而不僅僅是兩個。 – 2011-03-10 15:10:51