SQLServerで指定した文字列の位置を取得するには、
CHARINDEX関数を使用します。
構文
- (文字位置を取得する構文)
- CHARINDEX('文字列', '対象文字列', [,位置 ])
文字列 | 検索する文字列を指定する |
---|---|
対象文字列 | 対象文字列を指定する |
位置 | 指定した文字位置から後ろで検索する(省略可) |
サンプル
例)文字列「abc*def*ghi」から「*」が初めに出現する位置を取得する
1 |
select charindex('*', 'abc*def*ghi') |
- (結果)
- 4
例)文字列「abc*def*ghi」の5文字目以降で「*」が初めに出現する位置を取得する
1 |
select charindex('*', 'abc*def*ghi',5) |
- (結果)
- 8
例)文字列から「ぶどう」の位置を取得する
1 |
select charindex('ぶどう', 'みかんももぶどうかき') |
- (結果)
- 6
例)文字列から「バナナ」の位置を取得する
1 |
select charindex('バナナ', 'みかんももぶどうかき') |
- (結果)
- 0
指定した文字が見つからない場合は0が返ります。
備考
- CHARINDEX関数はオラクルだとINSTR関数が該当します。