SQL Server 2008データベースにc/o Full Name
という列があります。私は姓と名が分かれる問題を抱えています。私は自分のコラムにc/oを持っていますが、私はFirst/Last Namesが必要です。私は2番目と3番目のケースの声明に問題があることを知っていますが、私は何を変更する必要があるのかよくわかりません。私はそれらを参照するためにどこかにインデックス変数を格納する必要がありますか?SQL名とSQL名を解析する
Declare @t table ([name] varchar(100))
INSERT INTO @t (Name)
SELECT Street1 FROM tblPeople
WHERE CO = 'Y' AND LastName NOT LIKE 'SUMMERHAVEN INC' AND Street1 Like '%c/o%'
SELECT
[name],
CHARINDEX(' ', [name]),
CASE WHEN CHARINDEX(' ', [name]) > 0 THEN
LEFT([name],CHARINDEX(' ',[name])-1)
ELSE
[name]
END as CO,
CASE WHEN CHARINDEX(' ', [name]) > 0 THEN
SUBSTRING([name],CHARINDEX(' ',[name])+1, (LEN([name]) - CHARINDEX(' ',[name])+1))
ELSE
NULL
END as FIRST_NAME,
CASE WHEN CHARINDEX(' ', [name]) > 0 THEN
SUBSTRING([name],CHARINDEX(' ',[name])+1, (LEN([name]) - CHARINDEX(' ',[name])+1))
ELSE
NULL
END as LAST_NAME
FROM @t
を考えてみましょうSQL Serverのように見えますか?どのバージョン? –
@HartCO私はquesitonでバージョンを追加しましたが、SQL Server 2008です。 – kevorski
サンプルデータはどうですか?私たちはあなたのテーブルtblPeopleを持っていません。 –