以下のドキュメントは、
system.functions システムテーブルから生成されています。CRC32
導入バージョン: v20.1.0 CRC-32-IEEE 802.3 多項式と初期値0xffffffff (zlib 実装) を使用して、文字列の CRC32 チェックサムを計算します。
構文
s— CRC32 を計算する文字列。String
UInt32
例
使用例
Query
Response
CRC32IEEE
導入バージョン: v20.1.0 CRC-32-IEEE 802.3多項式を使用して、文字列のCRC32チェックサムを計算します。 構文s— CRC32 を計算する対象の文字列です。String
UInt32
例
使用例
Query
Response
CRC64
導入バージョン: v20.1.0 CRC-64-ECMA多項式を用いて、文字列のCRC64チェックサムを計算します。 構文s— CRC64 を計算する文字列。String
UInt64
例
使用例
Query
Response
appendTrailingCharIfAbsent
導入バージョン: v1.1.0s が空でなく、末尾が文字 c でない場合は、文字列 s の末尾に文字 c を追加します。
構文
s が c で終わっていない場合、文字 c を末尾に追加した文字列 s を返します。String
例
使用例
Query
Response
ascii
導入バージョン: v22.11.0 文字列s の最初の文字の ASCII コードポイントを Int32 として返します。
構文
s— String 型の入力。String
s が空の場合、結果は 0 です。最初の文字が ASCII 文字でない場合、または UTF-16 の Latin-1 Supplement 範囲に含まれない場合、結果は未定義です。Int32
例
使用例
Query
Response
base32Decode
導入バージョン: v25.6.0 Base32 (RFC 4648) 文字列をデコードします。 文字列が有効な Base32 エンコードでない場合は、例外がスローされます。 構文encoded— String 型のカラムまたは定数。String
String
例
使用例
Query
Response
base32Encode
導入バージョン: v25.6.0 文字列を Base32 でエンコードします。 構文plaintext— エンコードする平文。String
String または FixedString
例
使用例
Query
Response
base58Decode
導入バージョン: v22.7.0 Base58 文字列をデコードします。 文字列が有効な Base58 エンコードでない場合は、例外がスローされます。 デコード後のサイズを指定するために、省略可能な第2引数expected_size を指定できます。そのバイト数ちょうどに
デコードされない入力は拒否され、関数は例外をスローします (または
tryBase58Decode の場合は空文字列を返します) 。この要件はすべてのサイズに適用され、0 は
要件なしを意味します。
構文
encoded— デコード対象のString 型のカラムまたは定数。Stringexpected_size— 省略可。デコード後に必要なサイズ (バイト単位) 。それ以外のサイズにデコードされる入力は拒否されます。0は要件を課しません。UInt8, UInt16, UInt32, or UInt64
String
例
使用例
Query
Response
base58Encode
導入バージョン: v22.7.0 文字列を Base58 形式でエンコードします。 構文plaintext— エンコードする平文。String
String
例
使用例
Query
Response
base64Decode
導入バージョン: v18.16.0 RFC 4648 に従い、Base64 表現から文字列をデコードします。 バージョン 26.7 以降では、入力中の空白文字であるスペース、タブ (\t)、改行 (\n)、キャリッジリターン (\r)、およびフォームフィード (\f) は無視されます (それ以前のバージョンでは、これらを含む入力は拒否されていました) 。垂直タブ (\v) と、Base64 アルファベットに含まれないその他の文字は拒否されます。
エラー時には例外をスローします。
構文
FROM_BASE64
引数
encoded— デコードするString型のカラムまたは定数。文字列が有効な Base64 形式でエンコードされていない場合は、例外がスローされます。String
String
例
使用例
Query
Response
base64Encode
導入バージョン: v18.16.0 RFC 4648 に従って、文字列を Base64 形式にエンコードします。 構文TO_BASE64
引数
plaintext— デコードする平文のカラムまたは定数。String
String
例
使用例
Query
Response
base64URLDecode
導入バージョン: v24.6.0 RFC 4648 に従い、URL セーフなアルファベットを使用した Base64 表現から文字列をデコードします。 デコード時には、標準アルファベット (+ および /) も受け付けます。
バージョン 26.7 以降では、入力内の空白文字である space、tab (\t) 、line feed (\n) 、carriage return (\r) 、および form feed (\f) は無視されます (それ以前のバージョンでは、これらを含む入力は拒否されていました) 。Vertical tab (\v) および Base64 アルファベットに含まれないその他の文字は拒否されます。
エラー時には例外をスローします。
構文
encoded— エンコード対象のString型のカラムまたは定数。文字列が有効な Base64 エンコード形式でない場合は、例外がスローされます。String
String
例
使用例
Query
Response
base64URLEncode
導入バージョン: v18.16.0 URLセーフなアルファベットを使用して、文字列を Base64 (RFC 4648) 形式でエンコードします。 構文plaintext— エンコードする平文のカラムまたは定数。String
String
例
使用例
Query
Response
basename
導入バージョン: v20.1.0 文字列の最後のスラッシュまたはバックスラッシュの後にある末尾部分を抽出します。 この関数は、パスからファイル名を抽出するためによく使用されます。 構文expr— 文字列式です。バックスラッシュはエスケープする必要があります。String
String
例
Unix パスからファイル名を抽出
Query
Response
Query
Response
Query
Response
byteHammingDistance
導入バージョン: v23.9.0 2つのバイト文字列間のハミング距離を計算します。 構文mismatches
引数
戻り値
2 つの文字列のハミング距離を返します。UInt64
例
使用例
Query
Response
caseFoldUTF8
導入バージョン: v26.3.0 UTF-8文字列に Unicode のケースフォールディングを適用し、大文字と小文字を区別しない比較に適した、小文字化に近い正規化済みの形式に変換します。 標準の Unicode ケースフォールディングを適用します。ケースフォールディングの影響を受けない互換文字 (例: ローマ数字、丸付き数字) は保持されますが、ffi のような一部の合字は、Unicode のケースフォールディング自体によって展開されるため、引き続き分解される点に注意してください。
構文
str— UTF-8 でエンコードされた入力文字列。String
String
例
基本的なケースフォールディング
Query
Response
compareSubstrings
導入バージョン: v25.2.0 2つの文字列を辞書式順序で比較します。 構文s1— 比較対象の1つ目の文字列です。Strings2— 比較対象の2つ目の文字列です。Strings1_offset— 比較を開始するs1内の位置 (0から始まる) です。UInt*s2_offset— 比較を開始するs2内の位置 (0から始まるインデックス) です。UInt*num_bytes— 両方の文字列で比較する最大バイト数です。s1_offset(またはs2_offset) +num_bytesが入力文字列の末尾を超える場合、num_bytesはそれに応じて短くなります。UInt*
s1[s1_offset:s1_offset+num_bytes] <s2[s2_offset:s2_offset+num_bytes] の場合は-1。s1[s1_offset:s1_offset+num_bytes] =s2[s2_offset:s2_offset+num_bytes] の場合は0。s1[s1_offset:s1_offset+num_bytes] >s2[s2_offset:s2_offset+num_bytes] の場合は1。Int8
Query
Response
concat
導入バージョン: v1.1.0 指定された引数を連結します。String または FixedString 型以外の引数は、デフォルトのシリアライゼーションを使用して文字列に変換されます。
ただし、これによりパフォーマンスが低下するため、String/FixedString 以外の引数の使用は推奨されません。
構文
s1, s2, ...— 任意の型の値を任意の数だけ指定できます。Any
NULL の場合、この関数は NULL を返します。引数がない場合は、空文字列を返します。Nullable(String)
例
文字列の連結
Query
Response
Query
Response
concatAssumeInjective
導入バージョン: v1.1.0concat と似ていますが、concat(s1, s2, ...) → sn が単射、
つまり引数が異なれば結果も異なると仮定します。
GROUP BY の最適化に利用できます。
構文
s1, s2, ...— 任意の型の値を、任意の数だけ指定できます。StringまたはFixedString
NULL の場合、この関数は NULL を返します。引数が渡されない場合は、空文字列を返します。String
例
GROUP BYの最適化
Query
Response
concatWithSeparator
導入バージョン: v22.12.0 指定した区切り文字を挟んで、与えられた文字列を連結します。 構文concat_ws
引数
sep— 使用する区切り文字。const Stringまたはconst FixedStringexp1, exp2, ...— 連結する式。型がStringまたはFixedStringではない引数は、デフォルトのシリアライゼーションを使用して文字列に変換されます。パフォーマンスが低下するため、String/FixedString 以外の引数の使用は推奨されません。Any
NULL の場合、この関数は NULL を返します。String
例
使用例
Query
Response
concatWithSeparatorAssumeInjective
導入バージョン: v22.12.0concatWithSeparator と同様ですが、concatWithSeparator(sep[,exp1, exp2, ... ]) → result が単射であるとみなします。
異なる引数に対して異なる結果を返す関数は、単射であると呼ばれます。
GROUP BY の最適化に使用できます。
構文
sep— 使用する区切り文字。const Stringまたはconst FixedStringexp1, exp2, ...— 連結する式。型がStringまたはFixedStringではない引数は、デフォルトのシリアライゼーションを使用して文字列に変換されます。これはパフォーマンス低下につながるため、String/FixedString以外の引数の使用は推奨されません。StringまたはFixedString
String を返します。いずれかの引数の値が NULL の場合、この関数は NULL を返します。String
例
使用例
Query
Response
conv
導入バージョン: v25.10.0 異なる基数間で数値を変換します。 この関数は、ある基数の数値を別の基数に変換します。対応する基数は 2 から 36 までです。 10 を超える基数では、10~35 の値を表すために文字 A-Z (大文字と小文字は区別されません) が使用されます。 この関数は MySQL の CONV() 関数と互換性があります。 構文number— 変換する数値。文字列型または数値型を指定できます。 -from_base— 変換元の基数 (2~36) 。整数である必要があります。 -to_base— 変換先の基数 (2~36) 。整数である必要があります。
Query
Response
Query
Response
Query
Response
Query
Response
convertCharset
導入バージョン: v1.1.0 文字列s を、エンコーディング from からエンコーディング to に変換して返します。
構文
from から to に変換された文字列 s を返します。String
例
使用例
Query
Response
damerauLevenshteinDistance
導入バージョン: v24.1.0 2 つのバイト文字列間の ダメラウ・レーベンシュタイン距離 を計算します。 構文UInt64
例
使用例
Query
Response
decodeHTMLComponent
導入バージョン: v23.9.0 文字列内のHTMLエンティティを対応する文字にデコードします。 構文s— デコード対象の HTML エンティティを含む String。String
String
例
使用例
Query
Response
decodeXMLComponent
導入バージョン: v21.2.0 文字列内の XML エンティティを対応する文字にデコードします。 構文s— デコード対象の XML エンティティを含む文字列。String
String
例
使用例
Query
Response
editDistance
導入バージョン: v23.9.0 2つのバイト文字列間の編集距離を計算します。 構文levenshteinDistance
引数
戻り値
2つの文字列間の編集距離を返します。UInt64
例
使用例
Query
Response
editDistanceUTF8
導入バージョン: v24.6.0 2つの UTF-8 文字列間の編集距離を計算します。 構文levenshteinDistanceUTF8
引数
戻り値
2 つの UTF-8 文字列間の編集距離を返します。UInt64
例
使用例
Query
Response
encodeXMLComponent
導入バージョン: v21.1.0 文字列を XML のテキストノードまたは属性値に埋め込めるよう、文字列内の文字をエスケープします。 構文s— エスケープする文字列。String
String
例
使用例
Query
Response
endsWith
導入バージョン: v1.1.0 文字列が指定された接尾辞で終わるかどうかを返します。 構文s が suffix で終わる場合は 1、それ以外の場合は 0 を返します。 UInt8
例
使用例
Query
Response
endsWithCaseInsensitive
導入バージョン: v25.10.0 文字列が、指定された大文字・小文字を区別しない接尾辞で終わるかどうかを判定します。 構文s が大文字・小文字を区別しない suffix で終わる場合は 1、それ以外の場合は 0 を返します。 UInt8
例
使用例
Query
Response
endsWithCaseInsensitiveUTF8
導入バージョン: v25.10.0 文字列s が、大文字・小文字を区別しない suffix で終わるかどうかを返します。
文字列には、有効な UTF-8 でエンコードされたテキストが含まれているものとします。
この前提が満たされない場合、例外はスローされず、結果は未定義です。
構文
s が大文字・小文字を区別しない suffix で終わる場合は 1、それ以外の場合は 0 を返します。UInt8
例
使用例
Query
Response
endsWithUTF8
導入バージョン: v23.8.0 文字列s が suffix で終わるかどうかを返します。
文字列には、有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。
この前提が満たされない場合でも、例外は発生せず、結果は未定義です。
構文
s が suffix で終わる場合は 1、それ以外の場合は 0 を返します。UInt8
例
使用例
Query
Response
extractTextFromHTML
導入バージョン: v21.3.0 HTML または XHTML からテキストコンテンツを抽出します。 この関数は HTML タグ、コメント、script/style 要素を削除し、テキストコンテンツのみを残します。具体的には、次の処理を行います。- すべての HTML/XML タグの削除
- コメント (
{/* */}) の削除 - script 要素および style 要素とその内容の削除
- CDATA セクションの処理 (そのままコピー)
- 空白の適切な処理と正規化
html— テキストの抽出元となる HTML コンテンツを含む文字列。String
String
例
使用例
Query
Response
firstLine
導入バージョン: v23.7.0 複数行文字列の最初の行を返します。 構文s— 入力文字列。String
String
例
使用例
Query
Response
idnaDecode
導入バージョン: v24.1.0 Internationalized Domain Names in Applications (IDNA) に従い、ドメイン名の Unicode (UTF-8) 表現 (ToUnicode アルゴリズム) を返します。 エラーが発生した場合 (たとえば入力が無効な場合) は、入力文字列をそのまま返します。 大文字・小文字の正規化が行われるため、idnaEncode() と idnaDecode() を繰り返し適用しても、必ずしも元の文字列に戻るとは限りません。
構文
s— 入力文字列。String
String
例
使用例
Query
Response
idnaEncode
導入バージョン: v24.1.0 Internationalized Domain Names in Applications (IDNA) の方式に従い、ドメイン名の ASCII 表現 (ToASCII アルゴリズム) を返します。 入力文字列は UTF エンコードされており、ASCII 文字列に変換可能である必要があります。そうでない場合は例外がスローされます。パーセントデコードや、タブ、スペース、制御文字のトリミングは行われません。
s— 入力文字列。String
String
例
使用例
Query
Response
initcap
導入バージョン: v23.7.0 各単語の先頭文字を大文字に、それ以外の文字を小文字に変換します。 単語は、英数字以外の文字で区切られた英数字の連続です。initcap は各単語の先頭文字のみを大文字に変換するため、アポストロフィや大文字を含む単語では想定どおりにならない場合があります。
これは既知の動作であり、現時点で修正する予定はありません。s— 入力文字列。String
s を返します。String
例
使用例
Query
Response
Query
Response
initcapUTF8
導入バージョン: v23.7.0initcap と同様に、initcapUTF8 は各単語の先頭文字を大文字に、それ以外の文字を小文字に変換します。
文字列には、有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。
この前提が満たされない場合でも例外は送出されず、結果は未定義です。
この関数は言語を判別しません。たとえば、トルコ語では結果が完全に正しくならない場合があります (i/İ と i/I) 。
UTF-8 バイト列の長さが、あるコードポイントの大文字と小文字で異なる場合、そのコードポイントでは結果が正しくならない可能性があります。
s— 入力文字列。String
s を返します。String
例
使用例
Query
Response
isValidASCII
導入バージョン: v25.9.0 入力の String または FixedString が ASCII バイト (0x00–0x7F) のみを含む場合は 1 を返し、それ以外の場合は 0 を返します。入力が有効な ASCII である場合に最適化されています。 構文isASCII
引数
- なし。
Query
Response
isValidUTF8
導入バージョン: v20.1.0 バイト列が有効な UTF-8 でエンコードされたテキストであるかどうかを確認します。 構文s— UTF-8 でエンコードされた文字列として有効かどうかを確認する対象の文字列。String
1、そうでない場合は 0 を返します。UInt8
例
使用例
Query
Response
jaroSimilarity
導入バージョン: v24.1.0 2 つのバイト文字列の Jaro 類似度 を計算します。 構文Float64
例
使用例
Query
Response
jaroWinklerSimilarity
導入バージョン: v24.1.0 2つのバイト文字列間の Jaro-Winkler similarity を計算します。 構文Float64
例
使用例
Query
Response
left
導入バージョン: v22.1.0 文字列s の左側から数えて、指定した offset 位置から始まる部分文字列を返します。
構文
s— 部分文字列を取得する元の文字列です。StringまたはFixedStringoffset— オフセットを表すバイト数です。(U)Int*
offsetが正の場合、文字列の左側からoffsetバイト分のsの部分文字列を返します。offsetが負の場合、文字列の左側からlength(s) - |offset|バイト分のsの部分文字列を返します。lengthが0の場合は空文字列を返します。String
Query
Response
Query
Response
leftPad
導入バージョン: v21.8.0 結果の文字列が指定したlengthに達するまで、文字列の左側に空白、または指定した文字列 (必要に応じて複数回) を埋め込みます。
構文
lpad
引数
string— パディングする入力文字列です。Stringlength— 結果の文字列の長さです。値が入力文字列の長さより小さい場合、入力文字列はlength文字に切り詰められます。(U)Int*pad_string— 任意。入力文字列のパディングに使用する文字列です。指定しない場合、入力文字列は空白でパディングされます。String
String
例
使用例
Query
Response
leftPadUTF8
導入バージョン: v21.8.0 UTF-8文字列の左側を、結果の文字列が指定した長さに達するまで、空白または指定した文字列 (必要に応じて複数回) で埋めます。 文字列長をバイト単位で測定するleftPad とは異なり、こちらはコードポイント単位で文字列長を測定します。
構文
string— パディング対象の入力文字列です。Stringlength— 結果の文字列の長さです。値が入力文字列の長さより小さい場合、入力文字列はlength文字に切り詰められます。(U)Int*pad_string— 省略可能です。入力文字列のパディングに使用する文字列です。指定しない場合、入力文字列は空白でパディングされます。String
String
例
使用例
Query
Response
leftUTF8
導入バージョン: v22.1.0 UTF-8 エンコード文字列s の左側から、指定した offset の位置から始まる部分文字列を返します。
構文
s— 部分文字列を取得する対象の UTF-8 でエンコードされた文字列。StringまたはFixedStringoffset— オフセットのバイト数。(U)Int*
offsetが正の場合、文字列の左側からoffsetバイト分のsの部分文字列を返します。\n”offsetが負の場合、文字列の左側からlength(s) - |offset|バイト分のsの部分文字列を返します。\n”lengthが 0 の場合は空文字列を返します。String
Query
Response
Query
Response
lengthUTF8
導入バージョン: v1.1.0 文字列の長さを、バイト数や文字数ではなく、Unicode コードポイント数で返します。 文字列の長さをバイト単位で計算するには、length 関数を使用します。
文字列には有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。
この前提が満たされない場合でも例外はスローされず、結果は未定義です。
構文
CHARACTER_LENGTH, CHAR_LENGTH
引数
s— 有効な UTF-8 でエンコードされたテキストを含む文字列。String
s の長さ (Unicode コードポイント単位) 。UInt64
例
使用例
Query
Response
lower
導入バージョン: v1.1.0 ASCII 文字列を小文字に変換します。 構文lcase
引数
s— 小文字に変換する対象の文字列。String
s を小文字に変換した文字列を返します。 String
例
使用例
Query
Response
lowerUTF8
導入バージョン: v1.1.0 文字列に有効な UTF-8 でエンコードされたテキストが含まれていることを前提に、その文字列を小文字に変換します。この前提が満たされない場合でも例外は発生せず、結果は未定義です。 構文input— 小文字に変換する入力文字列。String
String
例
1つ目
Query
Response
naturalSortKey
導入バージョン: v26.3.0 この関数は、自然順でソートするために使用されます。 構文NATURAL_SORT_KEY
引数
s— ナチュラルソートキーに変換する文字列。String
s から生成されたナチュラルソートキー文字列を返します。String
例
使用例
Query
Response
normalizeUTF8NFC
導入バージョン: v21.11.0 NFC正規化形式に従って、UTF-8文字列を正規化します。 構文str— UTF-8 でエンコードされた入力文字列。String
String
例
使用例
Query
Response
normalizeUTF8NFD
導入バージョン: v21.11.0 UTF-8文字列を、NFD正規化形式に従って正規化します。 構文str— UTF-8 でエンコードされた入力文字列。String
String
例
使用例
Query
Response
normalizeUTF8NFKC
導入バージョン: v21.11.0 UTF-8文字列を NFKC 正規化形式 に従って正規化します。 構文str— UTF-8 でエンコードされた入力文字列。String
String
例
使用例
Query
Response
normalizeUTF8NFKCCasefold
導入バージョン: v26.3.0 NFKC_Casefold normalization form に従って UTF-8 文字列を正規化します。これは、NFKC 正規化を適用した後にケースフォールディングを行うものです。 識別子の大文字と小文字を区別しないマッチングに役立ちます。 構文str— UTF-8 でエンコードされた入力文字列。String
String
例
使用例
Query
Response
normalizeUTF8NFKD
導入バージョン: v21.11.0 UTF-8文字列を NFKD正規化形式 に従って正規化します。 構文str— UTF-8 でエンコードされた入力文字列。String
String
例
使用例
Query
Response
punycodeDecode
導入バージョン: v24.1.0 Punycode でエンコードされた文字列の UTF-8 エンコードされた平文を返します。 有効な Punycode エンコード文字列が指定されていない場合は、例外がスローされます。 構文s— Punycode でエンコードされた文字列。String
String
例
使用例
Query
Response
punycodeEncode
導入バージョン: v24.1.0 文字列の Punycode 表現を返します。 文字列は UTF-8 でエンコードされている必要があり、そうでない場合の動作は未定義です。 構文s— 入力値。String
String
使用例
使用例
Query
Response
regexpExtract
導入バージョン: v23.2.0 正規表現パターンに一致し、正規表現のグループ索引に対応するhaystack 内の最初の文字列を抽出します。
構文
REGEXP_EXTRACT, REGEXP_SUBSTR
引数
haystack— 正規表現パターンの照合対象となる String。Stringpattern— String、パターン。patternには複数の正規表現グループを含めることができ、indexは抽出する正規表現グループを示します。インデックス 0 は、正規表現全体との一致を意味します。const Stringindex— 省略可能。抽出する正規表現グループを示す 0 以上の整数です。デフォルト値は、patternにキャプチャグループが少なくとも 1 つ含まれている場合は1、キャプチャグループがない場合は0(一致全体) です。(U)Int*
String
例
使用例
Query
Response
regexpPosition
導入バージョン: v26.5.0haystack 内で pattern に一致する occurrence 番目の出現位置を、バイト位置 position から検索して返します (1始まりのバイト位置) 。
return_option が 0 (デフォルト) の場合は、一致の先頭バイト位置を返します。1 の場合は、一致の直後の先頭バイト位置を返します。
subexpression が 0 より大きい場合は、一致全体ではなく、対応するキャプチャグループの位置を返します。
一致が見つからない場合、または要求したキャプチャグループが一致に含まれていない場合は 0 を返します。
PostgreSQL の regexp_instr との互換性のために提供されています (このエイリアスでも公開されています) 。位置はバイト単位で、他の ClickHouse の正規表現関数と同様です。PostgreSQL の regexp_instr は文字単位です。
構文
regexpInstr, regexp_instr
引数
haystack— 検索対象の文字列。Stringpattern— 正規表現のパターン。const Stringposition— 任意。検索を開始する 1 始まりのバイト位置。デフォルト: 1。(U)Int*occurrence— 任意。何番目の一致を返すかを指定します。デフォルト: 1。(U)Int*return_option— 任意。0 は一致の開始位置を返し、1 は一致直後の位置を返します。デフォルト: 0。(U)Int*flags— 任意。正規表現フラグ。対応:i(大文字と小文字を区別しない) 、c(大文字と小文字を区別する) 、m/n(複数行アンカー) 、s(ドットが改行にも一致) 。デフォルト: 空文字列。const Stringsubexpression— 任意。位置を返すキャプチャグループのインデックス。0 は一致全体を意味します。デフォルト: 0。(U)Int*
UInt64
例
基本的な使い方
Query
Response
removeDiacriticsUTF8
導入バージョン: v26.3.0 文字を NFD で分解し、結合文字のマーク (Unicode カテゴリ Mn) を除去した後に NFC で再構成することで、UTF-8 文字列からダイアクリティカルマーク (アクセント) を削除します。 構文removeAccentsUTF8
引数
str— UTF-8 でエンコードされた入力文字列。String
String
例
基本的なアクセントの削除
Query
Response
repeat
導入バージョン: v20.1.0 指定した回数だけ文字列を繰り返し連結します。 構文s を n 回繰り返した文字列です。n が負の場合、関数は空文字列を返します。String
例
使用例
Query
Response
reverseUTF8
導入バージョン: v1.1.0 文字列中の Unicode コードポイント列を逆順にします。 文字列には有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。 この前提が満たされていない場合でも例外はスローされず、結果は未定義です。 構文s— 有効な UTF-8 でエンコードされたテキストを含む String。String
String
例
使用例
Query
Response
right
導入バージョン: v22.1.0 文字列s の右側から指定した offset を開始位置として、部分文字列を返します。
構文
s— 部分文字列を取得する元の文字列。StringまたはFixedStringoffset— オフセットのバイト数。(U)Int*
offsetが正の場合、文字列の右側からoffsetバイト分のsの部分文字列。offsetが負の場合、文字列の右側からlength(s) - |offset|バイト分のsの部分文字列。lengthが0の場合は空文字列。String
Query
Response
Query
Response
rightPad
導入バージョン: v21.8.0 結果の文字列が指定したlengthに達するまで、文字列の右側を空白、または指定した文字列 (必要に応じて複数回) で埋めます。
構文
rpad
引数
string— パディングする入力文字列です。Stringlength— 結果の文字列の長さです。値が入力文字列の長さより小さい場合、入力文字列はlength文字に切り詰められます。(U)Int*pad_string— 省略可能です。入力文字列の右側を埋めるための文字列です。指定しない場合、入力文字列は空白で埋められます。String
String
例
使用例
Query
Response
rightPadUTF8
導入バージョン: v21.8.0 結果の文字列が指定した長さに達するまで、文字列の右側を空白または指定した文字列で (必要に応じて複数回) 埋めます。 文字列の長さをバイト単位で測定するrightPad とは異なり、この関数では文字列の長さはコードポイント単位で測定されます。
構文
string— パディングする対象の入力文字列です。Stringlength— 生成される文字列の長さです。値が入力文字列の長さより小さい場合、入力文字列はlength文字に切り詰められます。(U)Int*pad_string— 任意。入力文字列を埋めるために使用する文字列です。指定しない場合、入力文字列は空白で埋められます。String
String
例
使用例
Query
Response
rightUTF8
導入バージョン: v22.1.0 UTF-8 でエンコードされた文字列s について、右側から指定した offset を開始位置とする部分文字列を返します。
構文
s— 部分文字列を取得する対象の UTF-8 でエンコードされた文字列。StringまたはFixedStringoffset— オフセットのバイト数。(U)Int*
offsetが正の場合、文字列の右側からoffsetバイト分のsの部分文字列を返します。offsetが負の場合、文字列の右側からlength(s) - |offset|バイト分のsの部分文字列を返します。lengthが0の場合は空文字列を返します。String
Query
Response
Query
Response
soundex
導入バージョン: v23.4.0 文字列の Soundexコード を返します。 構文s— 入力文字列です。String
String
例
使用例
Query
Response
space
導入バージョン: v23.5.0 指定した回数だけ、スペース文字 ( ) を連結します。
構文
n— 空白を繰り返す回数。(U)Int*
n 回繰り返した文字列を返します。n <= 0 の場合、関数は空文字列を返します。String
例
使用例
Query
Response
sparseGrams
導入バージョン: v25.5.0 指定された文字列について、長さが少なくともn のすべての部分文字列を見つけます。
このとき、部分文字列の両端にある (n-1)-gram のハッシュは、
その部分文字列内の任意の (n-1)-gram のハッシュよりも厳密に大きくなります。
ハッシュ関数として CRC32 を使用します。
構文
s— 入力文字列。Stringmin_ngram_length— 任意。抽出する N-gram の最小長です。デフォルト値および最小値は 3 です。UInt*max_ngram_length— 任意。抽出する N-gram の最大長です。デフォルト値は 100 です。min_ngram_length以上である必要があります。UInt*min_cutoff_length— 任意。指定した場合、長さがmin_cutoff_length以上の N-gram のみを返します。デフォルト値はmin_ngram_lengthと同じです。min_ngram_length以上かつmax_ngram_length以下である必要があります。UInt*
Array(String)
例
使用例
Query
Response
sparseGramsHashes
導入バージョン: v25.5.0 指定した文字列について、長さがn 以上のすべての部分文字列のハッシュを求めます。
このとき、各部分文字列の両端にある (n-1)-gram のハッシュは、
その部分文字列内にある他のどの (n-1)-gram のハッシュよりも厳密に大きくなります。
ハッシュ関数には CRC32 を使用します。
構文
s— 入力文字列。Stringmin_ngram_length— 任意。抽出する N-gram の最小長です。デフォルト値および最小値は 3 です。UInt*max_ngram_length— 任意。抽出する N-gram の最大長です。デフォルト値は 100 です。min_ngram_length以上である必要があります。UInt*min_cutoff_length— 任意。指定した場合、長さがmin_cutoff_length以上の N-gram のみを返します。デフォルト値はmin_ngram_lengthと同じです。min_ngram_length以上かつmax_ngram_length以下である必要があります。UInt*
Array(UInt32)
例
使用例
Query
Response
sparseGramsHashesUTF8
導入バージョン: v25.5.0 指定した UTF-8文字列について、長さが少なくともn で、かつその部分文字列の両端にある (n-1)-gram のハッシュが、部分文字列内のどの (n-1)-gram のハッシュよりも厳密に大きい、すべての部分文字列のハッシュを返します。
UTF-8文字列を受け取り、UTF-8 シーケンスが無効な場合は例外をスローします。
ハッシュ関数として CRC32 を使用します。
構文
s— 入力文字列です。Stringmin_ngram_length— 任意。抽出される N-gram の最小長です。デフォルト値および最小値は 3 です。UInt*max_ngram_length— 任意。抽出される N-gram の最大長です。デフォルト値は 100 です。min_ngram_length以上である必要があります。UInt*min_cutoff_length— 任意。指定した場合、長さがmin_cutoff_length以上の N-gram のみが返されます。デフォルト値はmin_ngram_lengthと同じです。min_ngram_length以上、max_ngram_length以下である必要があります。UInt*
Array(UInt32)
例
使用例
Query
Response
sparseGramsUTF8
導入バージョン: v25.5.0 指定された UTF-8 文字列について、長さが少なくともn であり、部分文字列の両端にある (n-1)-gram のハッシュが、その部分文字列内のどの (n-1)-gram のハッシュよりも厳密に大きい、すべての部分文字列を見つけます。
UTF-8 文字列を受け取り、UTF-8 シーケンスが無効な場合は例外をスローします。
ハッシュ関数として CRC32 を使用します。
構文
s— 入力文字列です。Stringmin_ngram_length— 任意。抽出するN-gramの最小長です。デフォルト値および最小値は 3 です。UInt*max_ngram_length— 任意。抽出するN-gramの最大長です。デフォルト値は 100 です。min_ngram_length以上である必要があります。UInt*min_cutoff_length— 任意。指定した場合、長さがmin_cutoff_length以上の N-gram のみを返します。デフォルト値はmin_ngram_lengthと同じです。min_ngram_length以上、max_ngram_length以下である必要があります。UInt*
Array(String)
例
使用例
Query
Response
startsWith
導入バージョン: v1.1.0 文字列が指定した文字列で始まるかどうかを判定します。 構文s が prefix で始まる場合は 1、そうでない場合は 0 を返します。UInt8
例
使用例
Query
Response
startsWithCaseInsensitive
導入バージョン: v25.10.0 文字列が、指定された大文字と小文字を区別しない文字列で始まるかどうかを判定します。 構文s が大文字と小文字を区別しない prefix で始まる場合は 1、それ以外の場合は 0 を返します。UInt8
例
使用例
Query
Response
startsWithCaseInsensitiveUTF8
導入バージョン: v25.10.0 文字列が、指定された大文字と小文字を区別しないプレフィックスで始まるかどうかを判定します。 文字列は、有効な UTF-8 でエンコードされたテキストであることを前提とします。 この前提が満たされない場合でも、例外は発生せず、結果は未定義となります。 構文s が大文字と小文字を区別しない prefix で始まる場合は 1、それ以外の場合は 0 を返します。UInt8
例
使用例
Query
Response
startsWithUTF8
導入バージョン: v23.8.0 文字列が指定されたプレフィックスで始まるかどうかを確認します。 文字列には、有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。 この前提が満たされない場合でも、例外はスローされず、結果は未定義です。 構文s が prefix で始まる場合は 1、そうでない場合は 0 を返します。 UInt8
例
使用例
Query
Response
stringBytesEntropy
導入バージョン: v25.6.0 文字列内のバイト分布のシャノンエントロピーを計算します。 構文s— 解析対象の文字列。String
Float64
例
使用例
Query
Response
stringBytesUniq
導入バージョン: v25.6.0 文字列に含まれる異なるバイトの数をカウントします。 構文s— 解析する文字列。String
UInt16
例
使用例
Query
Response
stringJaccardIndex
導入バージョン: v23.11.0 2つのバイト列間のジャッカード類似度指数を計算します。 構文Float64
例
使用例
Query
Response
stringJaccardIndexUTF8
導入バージョン: v23.11.0 UTF-8 でエンコードされた文字列に対するstringJaccardIndex と同様の関数です。
構文
Float64
例
使用例
Query
Response
substring
導入バージョン: v1.1.0 指定したバイト位置offset から始まる、文字列 s の部分文字列を返します。
バイト位置は、以下のルールに従って 1 から数えます。
offsetが0の場合は、空文字列が返されます。offsetが負の場合、部分文字列は先頭からではなく、文字列の末尾からoffset文字分さかのぼった位置から始まります。
length では、返される部分文字列の最大バイト数を指定します。
数値の各桁に対して同様の操作を行う digits 関数も参照してください。
構文
byteSlice, mid, substr
引数
s— 部分文字列を抽出する元の文字列。StringまたはFixedStringまたはEnumoffset—s内での部分文字列の開始位置。(U)Int*length— 省略可能。部分文字列の最大長。(U)Int*
offset から始まる、長さ length バイトの s の部分文字列を返します。String
例
基本的な使い方
Query
Response
substringIndex
導入バージョン: v23.7.0 Spark や MySQL と同様に、区切り文字delim が count 回現れる位置より前にある s の部分文字列を返します。
構文
SUBSTRING_INDEX
引数
s— 部分文字列を抽出する対象の文字列です。Stringdelim— 分割に使用する区切り文字です。Stringcount— 部分文字列を抽出する前に数える区切り文字の出現回数です。countが正の場合は、最後の区切り文字 (左から数えた場合) より左側のすべてが返されます。countが負の場合は、最後の区切り文字 (右から数えた場合) より右側のすべてが返されます。UIntまたはInt
s のうち、delim が count 回出現する位置より前の部分文字列を返します。 String
例
使用例
Query
Response
substringIndexUTF8
導入バージョン: v23.7.0 Unicode コードポイント単位で、区切り文字delim が count 回出現する位置より前にある s の部分文字列を返します。
文字列には有効な UTF-8 でエンコードされたテキストが含まれていることを前提とします。
この前提が満たされない場合でも、例外はスローされず、結果は未定義です。
構文
s— 部分文字列を抽出する対象の文字列です。Stringdelim— 分割に使用する文字です。Stringcount— 部分文字列を抽出する前に数える区切り文字の出現回数です。countが正の場合は、最後の区切り文字 (左から数える) より左側のすべてが返されます。countが負の場合は、最後の区切り文字 (右から数える) より右側のすべてが返されます。UIntまたはInt
delim が count 回出現する位置より前の s の部分文字列を返します。String
例
UTF8 の例
Query
Response
substringUTF8
導入バージョン: v1.1.0 指定されたコードポイントのインデックスoffset から始まる文字列 s の部分文字列を返します。
コードポイントのカウントは、次のルールに従って 1 から始まります。
offsetが0の場合は、空文字列が返されます。offsetが負の値の場合、部分文字列は文字列の先頭ではなく、末尾からoffsetコードポイント分の位置から始まります。
length は、返される部分文字列に含められるコードポイント数の最大値を指定します。
この関数は、文字列に有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。
この前提が満たされない場合でも、例外はスローされず、結果は未定義です。
s— 部分文字列を取得する元の文字列です。StringまたはFixedStringまたはEnumoffset—s内での部分文字列の開始位置です。IntまたはUIntlength— 部分文字列の最大長です。省略可能です。IntまたはUInt
offset から始まる、length 個のコードポイントからなる s の部分文字列を返します。String
例
使用例
Query
Response
toValidUTF8
導入バージョン: v20.1.0 UTF-8 として不正な文字を置換文字� (U+FFFD) に置き換え、文字列を有効な UTF-8 エンコーディングに変換します。
不正な文字が複数連続している場合は、1 つの置換文字にまとめられます。
構文
s—Stringデータ型のオブジェクトとして表される任意のバイト列。String
String
例
使用例
Query
Response
trimBoth
導入バージョン: v20.1.0 文字列の先頭と末尾から、指定した文字を取り除きます。 デフォルトでは、一般的な空白文字 (ASCII) を取り除きます。 Syntaxtrim
引数
戻り値
指定した文字を両端からトリムした文字列を返します。String
例
使用例
Query
Response
trimLeft
導入バージョン: v20.1.0 文字列の先頭から、指定した文字を取り除きます。 デフォルトでは、一般的な空白文字 (ASCII) を取り除きます。 構文ltrim
引数
戻り値
左側から指定した文字がトリムされた文字列を返します。 String
例
使用例
Query
Response
trimRight
導入バージョン: v20.1.0 文字列の末尾から指定した文字を取り除きます。 デフォルトでは、一般的な空白文字 (ASCII) を取り除きます。 構文rtrim
引数
戻り値
右側から指定した文字をトリムした文字列を返します。 String
例
使用例
Query
Response
tryBase32Decode
導入バージョン: v25.6.0 文字列を受け取り、Base32エンコード方式を使用してデコードします。 構文encoded— デコード対象のString型のカラムまたは定数。文字列が有効な Base32 エンコードでない場合は、エラー時に空文字列を返します。String
String
例
使用例
Query
Response
tryBase58Decode
導入バージョン: v22.10.0base58Decode と同様ですが、エラーが発生した場合は空文字列を返します。
構文
encoded— String型のカラムまたは定数。文字列が有効なBase58エンコードでない場合、エラー時には空文字列を返します。Stringexpected_size— 任意。必要なデコード後のサイズ (バイト単位) 。これ以外のサイズにデコードされる入力は拒否されます。0は要件を設けません。UInt8, UInt16, UInt32, or UInt64
String
例
使用例
Query
Response
tryBase64Decode
導入バージョン: v18.16.0base64Decode と同様ですが、エラーが発生した場合は空文字列を返します。
構文
encoded— デコードするString型のカラムまたは定数。文字列が有効な Base64 エンコードでない場合、エラー時には空文字列を返します。String
String
例
使用例
Query
Response
tryBase64URLDecode
導入バージョン: v18.16.0base64URLDecode と同様ですが、エラーが発生した場合は空文字列を返します。
構文
encoded— デコードするString型のカラムまたは定数。文字列が有効な Base64 エンコードでない場合、エラー時には空文字列を返します。String
String
例
使用例
Query
Response
tryIdnaEncode
導入バージョン: v24.1.0 Internationalized Domain Names in Applications (IDNA) の仕組みに従い、ドメイン名の Unicode (UTF-8) 表現 (ToUnicode アルゴリズム) を返します。 エラーが発生した場合は、例外をスローする代わりに空文字列を返します。 構文s— 入力文字列。String
String
例
使用例
Query
Response
tryPunycodeDecode
導入バージョン: v24.1.0punycodeDecode と同様ですが、有効な Punycode でエンコードされた文字列が指定されていない場合は空文字列を返します。
構文
s— Punycode でエンコードされた文字列。String
String
例
使用例
Query
Response
upper
導入バージョン: v1.1.0 文字列内の ASCII のラテン文字を大文字に変換します。 構文ucase
引数
s— 大文字に変換する対象の文字列。String
s を大文字に変換した文字列を返します。 String
例
使用例
Query
Response
upperUTF8
導入バージョン: v1.1.0 文字列が有効な UTF-8 でエンコードされたテキストを含むものと仮定して、その文字列を大文字に変換します。 この前提が満たされない場合でも例外はスローされず、結果は未定義です。この関数は言語を判別しないため、たとえばトルコ語では結果が完全に正確にならない場合があります (i/İ と i/I など) 。
UTF-8 のバイト列の長さが、あるコードポイントの大文字と小文字で異なる場合 (
ẞ と ß など) 、そのコードポイントについては結果が正しくない可能性があります。s— String型。String
String
例
使用例
Query
Response