2016-10-24 21 views
-1

SQLで基本正規表現関数を実行することに問題があります。SQLサーバー文字列正規表現

"Last Name, First Middle Names" 

2列にそれを解析:姓他&すべて理想的には私はこのようにフォーマットされた私の既存の列を、利用したいと思います。

比較的単純な操作であるべきことを私の髪を引き裂く。助言や助けがあれば、事前に感謝します。

+3

'のようにフォーマットされていると仮定何が比較的単純な操作でなければならないのか」...誰がこれは簡単だと言ったのか?ファーストネームコンポーネントとミドルネームコンポーネントを区別できない場合があります。 –

+0

サンプルレコードを含めることができますか?トリッキーな外れ値を含めるようにしてください。 @TimBiegeleisenが指摘したように、これは非常に難しい作業です。 –

+0

Btw、SQL Serverは正規表現をサポートせず、基本的な「LIKE」と「CHARINDEX」のみをサポートします。 – dnoeth

答えて

4

この

SELECT [Last Name] = LEFT(your_col, Charindex(',', your_col) - 1), 
     [everything else] = Substring(your_col, Charindex(',', your_col) + 1, Len(your_col)) 
FROM yourtable 

ノートのようなものを試してみてください:上記のクエリは、データは常にこの

"姓、ミドルネーム"

+0

これは、最初と中間の名前がきれいに分離可能であることを前提としています。 –

+0

@TimBiegeleisen - 名前とミドルネームを分けるためにどこに言及されているのでしょうか?私は物事を引き受けることができないという要件に基づいて答えを書くことができます;) –

+0

前提を前提に、ここにupvoteがあります –