1

コラムがありますname。次のようなエントリがあります。

Smith, John
Smith, Joe
One whole entry

次のように、それらを2つの列に分ける必要があります。

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 に答える