1

我有一个专栏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,)。我需要它来删除以下逗号,但还需要显示那些不带逗号的条目的完整信息。

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

4

2 回答 2

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
于 2012-10-29T15:01:46.367 回答
0

其他方式;

select
  left(name, charindex(',', name + ',', 1) - 1) as lastname,
  ltrim(substring(name,  charindex(',', name + ',', 1) + 1, len(name))) as firstname 
于 2012-10-29T15:11:10.137 回答