2017-06-06 21 views
1

Personというテーブルと、NotesというNVarCharのテーブルがあります。SQL Server:最初の文字を選択します。0-9または/

Notesの列には多くのテキストが含まれていますが、常にいくつかの種類があり、全体では/が挿入されています。例えば

1/23 some text 
45/678/9%*&^%$#@ 
02/468/ some other text 

私は数字または/ない最初の文字の位置を選択する必要があります。
位置が0ベースか1ベースかは気にしません。私はその事実の後にそれを受け入れることができます。私は1ベースの文字位置を使用している場合は、この例では

は、選択は以下を生成する必要があります

5 
9 
8 

答えて

5

ですから、パターンのいくつかの並べ替えと一致するインデックスを探している、と言いますパターン指数。気まぐれならば、それをPATINDEXと省略することもあります。

SELECT PATINDEX('%[^0-9/]%', Notes) 
FROM Person 
+0

ああ、以前はそのキーワードは見たことがありません。構文については、 '/'に加えて '-'をパターンにも追加したいのであれば、どうすればそれを表記できますか? – Giffyguy

+2

先頭または最後に「[^ 0-9/- ] 'とタックしてください。 '-'は、他の2つの文字の間にある有効な範囲を形成できる場合にのみ特別です。いくつかの例[here](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/wildcard-character-s-to-match-transact-sql)、ドキュメントはスパース。 –

関連する問題