【问题标题】:Separating column into two separate columns将色谱柱分成两个单独的色谱柱
【发布时间】:2012-10-29 15:00:02
【问题描述】:

我有一个专栏name。有条目如:

Smith, John
Smith, Joe
One whole entry

我需要将它们分成两列,如下所示:

LastName        | FirstName
---------------------------
Smith           | John
Smith           | Joe
One whole entry | 

我正在使用这个查询:

SELECT left(name, CHARINDEX(', ', name)) as LastName FROM LookUps

我在上面尝试了以下操作,但它显示以下逗号(例如 Smith,)。我需要它来删除后面的逗号,但还要显示那些不带逗号的条目的完整信息。

任何帮助将不胜感激。谢谢..

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:
    select 
        case when charindex(',',name) > 0 
                then left(name, charindex(',',name)-1 ) 
                else name end,
        case when charindex(',',name) > 0 
                then ltrim(substring(name, charindex(',',name)+1, len(name) )) 
                else null end   
    from yourtable
    

    【讨论】:

    • 谢谢你podiluska;这正是我想要的。
    【解决方案2】:

    另一种方式;

    select
      left(name, charindex(',', name + ',', 1) - 1) as lastname,
      ltrim(substring(name,  charindex(',', name + ',', 1) + 1, len(name))) as firstname 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多