Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
異なる文字列内のある文字列の位置を返します。
LOCATE( string-expression-1, string-expression-2 [, integer-expression ] )
string-expression-1 検索される文字列。
string-expression-2 検索する文字列。
integer-expression 文字列内の、検索を開始する位置。最初の文字の位置は 1 です。開始オフセットが負の場合は、最初に一致した文字列ではなく、最後に一致した文字列のオフセットを返します。負のオフセットは、文字列の末尾のどれだけの部分が検索から除外されるかを示します。除外されるバイト数は、(-1 * offset) -1 で計算されます。
INT
integer-expression を指定すると、文字列のオフセットから検索が開始します。
最初の文字列には長い文字列 (255 バイト以上) を指定できますが、2 番目の文字列は 255 バイトに制限されます。長い文字列を 2 番目の引数として指定すると、LOCATE 関数は NULL 値を返します。文字列が見つからない場合は、0 を返します。長さ 0 の文字列を検索すると、1 を返します。いずれかの引数が NULL の場合は、結果は NULL です。
マルチバイト文字が使用され、適切な照合が使用されている場合は、開始位置と返される値はバイトで計算した位置と異なる場合があります。
次の文は、値 8 を返します。
SELECT LOCATE( 'office party this week - rsvp as soon as possible', 'party', 2 );