メインコンテンツまでスキップ
翻訳ページ

このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。

SUBSTRING

文字式またはバイナリ式の一部を返します。SUBSTR は SUBSTRING のエイリアスです。

関連項目:
[SELECT] [ データ型 ]


備考

JSON オブジェクトからフィールドを抽出するには、JSON_EXTRACT 関数を使用します。

構文​

SELECT SUBSTRING(expression, start[, length]) FROM <multipartIdentifier>;
SELECT SUBSTR(expression, start[, length]) FROM <multipartIdentifier>;

引数​

expression
ASCII 文字列または BLOB です。

expression が文字列の場合、インデックスは実際の UTF-8 文字を指します。expression が BLOB の場合、インデックスはバイトを指します。

start
返す部分シーケンスの、入力式における最初の文字またはバイトを表す整数です。start が負の場合、部分文字列の最初の文字は左からではなく右から数えて決まります。

expression の左端の文字が 1 番目です。

length
省略可能な整数値で、start の値から返す部分シーケンスの長さを表します。length を省略すると、expression で指定した文字列または BLOB の末尾までのすべての文字が返されます。

length が負の場合は、length の絶対値が使用されます。

戻り値​

expression の型に応じて、文字列または BLOB の値を返します。


例​

列から先頭の n 文字を返す​

SELECT SUBSTRING(name, 1, 5) as "first five chars"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

列から先頭の n 文字を切り捨てる​

SELECT SUBSTR(name, 5) as "from char 5"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

列から末尾の n 文字を返す​

SELECT SUBSTRING(name, -5) as "last five chars"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

詳細については、https://www.sqlite.org/lang_corefunc.html#substr を参照してください。