SQL Server拆分了两列

时间:2013-03-08 10:07:22

标签: sql sql-server-2005 split

我必须在我们的系统中导入一些数据,并且一个特定的列 [FiscalInfo]不幸地存在两者 FiscalDepartment和FiscalNumber信息。我想将其拆分为两个列: [财政部门]和[财政部门]

这是一个示例

[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)中有它们的缩写。< / p>

有没有办法拆分信息?

提前Thanx!

1 个答案:

答案 0 :(得分: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