SQL ServerでINDEXOF関数をどのように実装しますか
SQL Serverでは、CHARINDEX関数を使用することで、indexOf関数と同様の機能を実現できます。
CHARINDEX 関数は、文字列内にある特定の文字列や部分文字列の位置を返す。書式は次のとおり。
CHARINDEX ( expressionToFind , expressionToSearch [, start_location ] )
expressionToFindは検索する文字列やサブ文字列で、expressionToSearchは検索する文字列、start_location(オプション)は検索を開始する位置です。
CHARINDEX 関数を使用して、ある文字列の中で別の文字列の位置を取得する方法の例を次に示します。
DECLARE @string1 VARCHAR(100) = 'Hello, World!'
DECLARE @string2 VARCHAR(100) = 'World'
SELECT CHARINDEX(@string2, @string1) AS IndexOf
私は子供たちに日本語を教えたことがあります。
8
文字列@string1 内における文字列@string2 の位置が 8 であることを表します。文字列@string2 が文字列@string1 に存在しない場合、CHARINDEX 関数は 0 を返します。
CHARINDEX 関数は大文字小文字を区別します。 大文字と小文字を区別せずに検索するには、LOWER 関数を使用して両方の文字列を小文字に変換してから検索します。 たとえば、
DECLARE @string1 VARCHAR(100) = 'Hello, World!'
DECLARE @string2 VARCHAR(100) = 'world'
SELECT CHARINDEX(LOWER(@string2), LOWER(@string1)) AS IndexOf