目次
SQL(SQL Server)で文字列中の指定した文字の開始位置を取得する
SQL ServerのSQLでは、CHARINDEX
関数を使います。
構文
CHARINDEX(<探す文字>, <探される文字列> [, <開始位置>])
<探される文字列>
から<探す文字>
を検索し、最初に見つかった開始位置(1
始まり)を返却します。- 見つからなかった場合は
0
が返ります。 <開始位置>
は省略可で、省略時は1
が指定されたものと同等です。
例
通常利用
SELECT CHARINDEX('C', 'ABCDEFG'); -- => 3 SELECT CHARINDEX('DE', 'ABCDEFG'); -- => 4 SELECT CHARINDEX('H', 'ABCDEFG'); -- => 0
- 探す文字列は複数文字でもいけます。
- 見つからない場合は0が返却されます。
開始位置を指定
SELECT CHARINDEX('は', 'うらにわにはにわにわにはにわにわとりがいる'); -- => 6 SELECT CHARINDEX('は', 'うらにわにはにわにわにはにわにわとりがいる', 7); -- => 12 SELECT CHARINDEX('は', 'うらにわにはにわにわにはにわにわとりがいる', 13); -- => 0
- 指定した開始位置から検索しはじめます。
- 返却される開始位置は文字列の先頭からのものになります。