SQLite substr()
関数を使用すると、文字列内の指定された開始位置に基づいて、文字列からサブ文字列を返すことができます。
2つの引数が必要で、3番目のオプションの引数を受け入れます。
更新 :SQLite 3.34.0(2020年12月1日にリリース)以降、substr()
substring()
と呼ぶことができるようになりました SQLServerとの互換性のため。
構文
substr()
を呼び出すことができます 次のいずれかの方法で:
substr(X,Y,Z)
substr(X,Y)
substring(X,Y,Z)
substring(X,Y)
-
X
返す部分文字列を含む完全な文字列です。 -
Y
は、その文字列から返すサブ文字列の最初の文字の場所です。 -
Z
返される文字数です。省略した場合、後続のすべての文字が返されます(Y
から開始) 。
X
の場合 は文字列であり、文字インデックスは実際のUTF-8文字を参照します。 X
の場合 がBLOBの場合、インデックスはバイトを参照します。
substring()
に注意してください 構文はSQLite3.34.0からのみ利用できます。
3つの引数を持つ例
substr()
の使用方法を示す基本的な例を次に示します。 3つの引数があります。
SELECT substr('Industrial', 3, 4);
結果:
dust
2つの引数を持つ例
前の例の3番目の引数を省略すると、次の結果が得られます。
SELECT substr('Industrial', 3);
結果:
dustrial
否定的な出発点
2番目の引数に負の値を指定できます。これを行うと、部分文字列の最初の文字は、左ではなく右から数えて見つけられます。
SELECT substr('Industrial', -3);
結果:
ial
別の例を次に示します。今回は、部分文字列の長さを指定します。
SELECT substr('Industrial', -8, 4);
結果:
dust
したがって、負の値はsubstring()
を使用する場合と同じ効果があります MySQLで機能します。 MySQLにはsubstr()
もあります substring()
の同義語である関数 働き。
ただし、これはSQLServerが負の値を処理する方法とは異なります。 substring()
に負の値を渡す場合 SQL Serverでは、文字列が始まる前の架空のポイントからカウントを開始します。
負の部分文字列の長さ
前の例では、負の開始点を使用しました。この例では、負の長さを使用します。これは、3番目の引数に負の値を提供することを意味します。
SELECT substr('Industrial', -3, -4);
結果:
ustr
したがって、3番目の引数に負の値を指定すると、開始点の前の文字が返されます。
これは、2番目の引数が正の値の場合にも当てはまります。
SELECT substr('Industrial', 7, -4);
結果:
dust
データベースの例
substr()
を使用する例を次に示します。 Chinookサンプルデータベースに対するデータベースクエリで。
SELECT substr(Title, 1, 20)
FROM Album
LIMIT 10;
結果:
substr(Title, 1, 20) -------------------- For Those About To R Balls to the Wall Restless and Wild Let There Be Rock Big Ones Jagged Little Pill Facelift Warner 25 Anos Plays Metallica By F Audioslave