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