sql列值拆分
答
不是“最快的方式”,但它会工作。
with extract1 as
(
SELECT substring(data, 1, charindex('/', data)-1) AS data1,
substring(data, charindex('/', data)+1, LEN(data)) AS data
from atable
), extract2
(
SELECT data1,substring(data, 1, charindex('/', data)-1) AS data2,
substring(data, charindex('/', data)+1, LEN(data)) AS data
from extract1
)
SELECT data1,data2,substring(data, 1, charindex('/', data)-1) AS data3,
substring(data, charindex('/', data)+1, LEN(data)) AS data4
from extract2
第一:坏桌子设计!第二:看到[这个答案](http://stackoverflow.com/questions/5829543/how-to-parse-a-string-and-create-several-columns-from-it/5829640#5829640)得到的想法,只需用''/'替换''_'' – 2011-05-28 12:08:47
这只有在只有一个斜线时才有用,但我有三个斜线。 – RAHUL 2011-05-28 12:12:50
来吧!比你必须做三次与一些额外的'SUBSTRING'魔术 – 2011-05-28 12:14:23