因爲它已經在原來的問題沒有名字永遠不會有一個「V」後綴評論寫得很清楚了,你可以使用CHARINDEX找到「V」(即空間-V空間),然後的位置使用SUBSTRING獲得兩個部分:
;WITH cte AS
(
SELECT tmp.COLUMN_NAME,
tmp.OTHER_FIELD,
CHARINDEX(' V ', tmp.COLUMN_NAME) AS [DelimiterPosition]
FROM (
SELECT 'John Doe V Elton John', 23
UNION ALL
SELECT 'Jane Doe V Elton John', 78922
UNION ALL
SELECT 'David Smith V Elton John', 932
UNION ALL
SELECT 'David Doe 5th v Elton John', 53
) AS tmp(COLUMN_NAME, OTHER_FIELD)
)
SELECT cte.COLUMN_NAME,
SUBSTRING(cte.COLUMN_NAME, 1, (cte.DelimiterPosition - 1)) AS [Plaintiff],
SUBSTRING(cte.COLUMN_NAME, (cte.DelimiterPosition + 3), 500) AS [Defendant],
cte.OTHER_FIELD
FROM cte
輸出:
COLUMN_NAME Plaintiff Defendant OTHER_FIELD
John Doe V Elton John John Doe Elton John 23
Jane Doe V Elton John Jane Doe Elton John 78922
David Smith V Elton John David Smith Elton John 932
David Doe 5th v Elton John David Doe 5th Elton John 53
全部在'Column_Name'一行這個樣本數據? '李四V埃爾頓·約翰Jane Doe的V埃爾頓·約翰大衛·史密斯訴埃爾頓John' – DMason
不,先生,有多個行。 I.E. John Doe V Elton John是第一排的原告和被告。第二行有不同的原告/被告人名字,如Jane Doe V Elton John。 – user3495301
你說有些名字有後綴。是否有後綴「V」表示「第5」?如果是這樣,這將是棘手的做了「V」一個簡單的分裂,特別是如果左側的名稱具有「V」,在這種情況下,名稱爲「李四,VV埃爾頓·約翰」 –