1. 程式人生 > >sql,欄位內容用逗號分割的字串轉換成多條資料

sql,欄位內容用逗號分割的字串轉換成多條資料

WITH testtb2 AS 
(
SELECT 
A.[TypeClass_ID], A.[temp], CHARINDEX(',', A.[temp]) AS STA, CHARINDEX(',', A.[temp]) - 1 AS LENS
FROM [Shop_TypeClass] AS A 
UNION ALL
SELECT 
[TypeClass_ID], [temp], CHARINDEX(',', [temp], STA + 1) AS STA, CHARINDEX(',', [temp], STA + 1) - STA - 1 AS LENS
FROM testtb2 AS testtb2_2
WHERE (STA <> 0)
)
insert into [Shop_TypeClassVal]([TypeClass_ID],[TypeClassVal_Name],[TypeClassVal_State],[TypeClassVal_Order],[TypeClassVal_DateTime])
SELECT TOP (100) PERCENT [TypeClass_ID],SUBSTRING([temp], STA - LENS, LENS) AS [TypeClassVal_Name], 1 as [TypeClassVal_State],99 as [TypeClassVal_Order],GETDATE() as [TypeClassVal_DateTime] 
FROM testtb2 AS testtb2_1
WHERE (STA <> 0)