【问题标题】:Problem in splitting single column values into multiple column values将单列值拆分为多列值的问题
【发布时间】:2011-07-05 22:17:19
【问题描述】:

周五我发布了一个关于将单列值拆分为多列值的问题,我在那里遇到了一些问题,现在在我的源表中我添加了一些新字段,故事看起来像这样:

例如:

Name
---------------------      
abcd efgh      
ijk lmn     
opq  asd j. asdjja      
asb (asdfas) asd      
asd     
john  tronton III    
john    bradly  0    
user

并期望输出如下:

first_name             last_name  
-----------            ------------------
abcd                     efgh       
ijk                      lmn
opq                      asdjja      
asb                      asd      
asd                      null     
john                      tronton III    
john                      bradly    
null                      null (because user is not the name)

需要在Select语句中查询

中间名可以省略(不需要中间名)列已经创建,需要从单个“名称”列插入数据。

非常感谢,

沙赫拉

【问题讨论】:

  • 你有足够的代表知道如何格式化你的问题——它的可读性越高,回答的可能性就越大......
  • 能否请您告诉我您不明白的地方,以便我向您解释我的问题?

标签: sql sql-server tsql


【解决方案1】:

你应该看看这个问题的答案...

Extracting First Name and Last Name

【讨论】:

    【解决方案2】:
    ;WITH Split_Names (Name, xmlname)
    AS
    (
        SELECT 
        Name,
        CONVERT(XML,'<Names><name>'  
        + REPLACE(Name,' ', '</name><name>') + '</name></Names>') AS xmlname
          FROM somenames
    )
    
     SELECT       
     xmlname.value('/Names[1]/name[1]','varchar(100)') AS first_name,    
     xmlname.value('/Names[1]/name[2]','varchar(100)') AS last_name
     FROM Split_Names
    

    并查看下面的链接以供参考

    http://jahaines.blogspot.in/2009/06/converting-delimited-string-of-values.html

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 2017-10-03
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多