Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

文字列関数

最終更新 Markdown で表示Agent セットアップ

length

使い方:

length({string})

文字列の長さを返します。この関数は UTF-8 に対応しています。

例:

SELECT length('a string') AS s;
SELECT length(blob1) AS s FROM your_dataset;

後方互換性のため、この関数は ClickHouse の length ではなく、ClickHouse の lengthUTF8 と同等です。

empty

使い方:

empty({string})

文字列が空かどうかを示す真偽値を返します。同じ判定は、{string} = '' の二項演算でもできます。

例:

SELECT empty('a string') AS b;
SELECT empty(blob1) AS b FROM your_dataset;

後方互換性のため、empty(<string>) でも呼び出せます。

lower

使い方:

lower({string})

文字列を小文字に変換して返します。この関数は Unicode 非対応です。Unicode 対応が必要な場合は lowerUTF8 を参照してください。

例:

SELECT lower('STRING TO DOWNCASE') AS s;
SELECT lower(blob1) AS s FROM your_dataset;

lowerUTF8 新規

使い方:

lowerUTF8({string})

文字列を小文字に変換して返します。この関数は Unicode に対応しています。すべての言語で完全な結果になるとは限らないため、厳密な変換が必要な場合は、独自のコードで処理してください。

例:

SELECT lowerUTF8('STRING TO DOWNCASE') AS s;
SELECT lowerUTF8(blob1) AS s FROM your_dataset;

後方互換性のため、toLower({string}) でも呼び出せます。

upper

使い方:

upper({string})

文字列を大文字に変換して返します。この関数は Unicode 非対応です。Unicode 対応が必要な場合は upperUTF8 を参照してください。

例:

SELECT upper('string to uppercase') AS s;
SELECT upper(blob1) AS s FROM your_dataset;

upperUTF8 新規

使い方:

upperUTF8({string})

文字列を大文字に変換して返します。この関数は Unicode に対応しています。すべての言語で完全な結果になるとは限らないため、厳密な変換が必要な場合は、独自のコードで処理してください。

例:

SELECT upperUTF8('string to uppercase') AS s;
SELECT upperUTF8(blob1) AS s FROM your_dataset;

後方互換性のため、toUpper({string}) でも呼び出せます。

startsWith

使い方:

startsWith({string}, {string})

第 1 引数の文字列が第 2 引数の文字列で始まるかどうかを示す真偽値を返します。

例:

SELECT startsWith('prefix ...', 'prefix') AS b;
SELECT startsWith(blob1, 'prefix') AS b FROM your_dataset;

endsWith

使い方:

endsWith({string}, {string})

第 1 引数の文字列が第 2 引数の文字列で終わるかどうかを示す真偽値を返します。

例:

SELECT endsWith('prefix suffix', 'suffix') AS b;
SELECT endsWith(blob1, 'suffix') AS b FROM your_dataset;

position

使い方:

position({needle:string} IN {haystack:string})

文字列 needle が、別の文字列 haystack のどこにあるかを返します。SQL では、インデックスは通常 1 始まりです。そのため、needle が haystack の先頭にある場合、position は 1 を返します。見つからない場合のみ 0 を返します。

例:

SELECT position(':' IN 'hello: world') AS p;
SELECT position(':' IN blob1) AS p FROM your_dataset;

substring

使い方:

substring({string}, {offset:integer}[. {length:integer}])

文字列の一部を取り出します。offset で示した Unicode コードポイントから開始し、length で指定した個数のコードポイントを返します。前述のとおり、SQL ではインデックスは通常 1 始まりです。そのため、substring に渡す offset は少なくとも 1 にしてください。

例:

SELECT substring('hello world', 6) AS s;
SELECT substring('hello: world', 1, position(':' IN 'hello: world')-1) AS s;

format

使い方:

format({string}[, ...])

この関数は、文字列、整数、浮動小数点数、日時、間隔などを書式化できます。NULL は対象外です。書式文字列内のリテラル { および } には対応していません。

例:

SELECT format('blob1: {}', blob1) AS s FROM dataset;

formatDateTime 関数も役立つ場合があります。

extract

使い方:

extract(<time unit> from <datetime>)

extract は、日時から時間単位の整数を返します。対応している単位は YEARMONTHDAYHOURMINUTESECOND です。

例:

-- extract the number of seconds from a timestamp (returns 15 in this example)
extract(SECOND from toDateTime('2022-06-06 11:30:15'))

役に立ちましたか?