-2

Namesというフィールド名が1つだけあるテーブルがあります。

このフィールド名に関連付けられた長い値の行がいくつかあります。

以下は、値の各行の長さの例です。

Names

0000000024DOE JAMES JAN E102/02/1988107/11/2007 13011UNASSIGNED EMPLOYEEID 0175420670 3303302 - DY1 B100 1000 - 07/11/2007 0000028800 0000040849 0000173045 0000021600 
etc
etc

上記のようなリストから名前だけを抽出することは可能ですか?

たとえば、残りの値を無視してDOEJANを抽出したいとします。

時々、名前はミドルネームのイニシャルを持っています。

例:

0000000024DOE JAMES JAN E102/02/1988107/11/2007 13011UNASSIGNED EMPLOYEEID 0175420670 3303302 - DY1 B100 1000 - 07/11/2007 0000028800 0000040849 0000173045 0000021600 

この例では、抽出したい値はDoeJanEです。

可能であれば、それをどのように実行するかについてのアイデアはありますか?

4

1 に答える 1

0

名前が位置11で始まり、3つの数字とスラッシュで終わると仮定すると、次のようになります。

SUBSTRING(Names, 11, PATINDEX('%[0-9][0-9][0-9]/%', Names) - 11) 

PATINDEXは、ワイルドカードパターンに基づいて場所を返します。

于 2012-10-01T02:13:25.240 に答える