2013-03-08 173 views
0

我必須在我們的系統中導入一些數據,並有特定列 [FiscalInfo],不幸的是持有 FiscalDepartment和FiscalNumber信息。我想把它分成列: [FiscalDepartment]和[FiscalNumber]SQL Server的拆分兩列

下面是一個簡單

[FiscalInfo] 
F.O 885621791 F.D 
F.O F.D 
F.O 335064214 F.D KALOST 
F.O F.D ASRIT 

從你所看到的,我並不總是有信息關於FO和FD但我總是在列(FO和FD)中有它們的縮寫。

有沒有辦法拆分信息?

Thanx提前!

回答

1

這是非常硬編碼到這些細節(假設該領域始終以「F.O」等開頭),但希望說明了點...

WITH cte as 
(  select 'F.O F.D' as ss 
UNION select 'F.O 885621791 F.D' 
UNION select 'F.O 335064214 F.D KALOST' 
UNION select 'F.O F.D ASRIT ' 
) 
select 
    substring(ss, 5, charindex('F.D',ss)-5) as FO, 
    substring(ss, charindex('F.D',ss)+4, 8000) as FD 
from cte 
+0

感謝名單模糊按鈕! – PanosPlat 2013-03-08 10:53:20