以下のドキュメントは、
system.functions システムテーブルから生成されています。format
pattern 文字列をフォーマットします。
パターン文字列には、中かっこ {} で囲まれた置換フィールドを含めることができます。
中かっこで囲まれていない部分はすべてリテラルテキストと見なされ、そのまま出力にコピーされます。
中かっこそのものを文字として扱うには、{{ および }} のように 2 つ重ねてエスケープします。
フィールド名には数値 (0 から始まる) か空欄を指定できます (空欄の場合は、暗黙的に連番が割り当てられます) 。
構文
String
例
番号付きプレースホルダー
Query
Response
Query
Response
overlay
input の一部を、1 から始まる位置 offset から別の文字列 replace に置き換えます。
構文
s— 入力文字列。Stringreplace— 置換文字列。const Stringoffset— 整数型Int(1始まり) 。offsetが負の場合は、文字列sの末尾から数えます。Intlength— 任意。整数型Int。lengthは、入力文字列s内で置換する部分文字列の長さを指定します。lengthを指定しない場合、sから削除されるバイト数はreplaceの長さと同じになります。指定した場合は、lengthバイトが削除されます。Int
String
例
基本的な置換
Query
Response
Query
Response
overlayUTF8
offset から、文字列 s の一部を別の文字列 replace に置き換えます。
文字列には、有効な UTF-8 でエンコードされたテキストが含まれていることを前提としています。
この前提が満たされない場合でも、例外は送出されず、結果は未定義です。
構文
s— 入力文字列。Stringreplace— 置換文字列。const Stringoffset— 整数型Int(1始まり) 。offsetが負の場合は、入力文字列sの末尾から数えます。(U)Int*length— 任意。置換する入力文字列s内の部分文字列の長さを指定します。lengthを指定しない場合、sから削除される文字数はreplaceの長さと同じです。指定した場合は、length文字を削除します。(U)Int*
String
例
UTF-8 の置換
Query
Response
printf
printf 関数は、引数で指定した値 (文字列、整数、浮動小数点数など) を使って、C++ の printf 関数と同様に文字列をフォーマットします。
フォーマット文字列には、% 文字で始まるフォーマット指定子を含めることができます。
% と、それに続くフォーマット指定子に含まれないものは、すべてリテラルテキストと見なされ、そのまま出力にコピーされます。
リテラルの % 文字は %% でエスケープできます。
フォーマット文字列には、定数またはカラム式を指定できるため、行ごとに異なるフォーマットパターンを使用できます。
構文
String
例
C++スタイルのフォーマット
Query
Response
regexpQuoteMeta
\0, \\, |, (, ), ^, $, ., [, ], ?, *, +, {, :, -。
この実装は、re2::RE2::QuoteMeta とは若干異なります。
ゼロバイトは \x00 ではなく \0 としてエスケープされ、必要な文字のみがエスケープされます。
構文
s— 正規表現用にエスケープする文字を含む入力文字列。String
String
例
正規表現の特殊文字をエスケープする
Query
Response
replaceAll
haystack 内にある部分文字列 pattern を、replacement 文字列にすべて置き換えます。
構文
replace
引数
haystack— 検索対象の文字列です。Stringpattern— 検索して置換する部分文字列です。const Stringreplacement—patternを置き換える文字列です。const String
pattern のすべての出現箇所を置換した文字列を返します。String
例
すべての出現箇所を置換
Query
Response
replaceOne
haystack 内で最初に出現する部分文字列 pattern を、文字列 replacement に置き換えます。
構文
haystack— 検索対象の入力文字列です。Stringpattern— 検索して置換する部分文字列です。const Stringreplacement—patternを置換する文字列です。const String
pattern の最初の出現箇所を置換した文字列を返します。String
例
最初の出現箇所を置換
Query
Response
replaceRegexpAll
replaceRegexpOne と似ていますが、パターンに一致するすべての箇所を置き換えます。
ただし、正規表現が空の部分文字列にマッチする場合、置換は1回しか行われません。
構文
REGEXP_REPLACE
引数
haystack— 検索対象の入力文字列です。Stringpattern— 検索する正規表現パターンです。const Stringreplacement— パターンの置換に使用する文字列です。置換指定を含めることができます。const String
String
例
すべての文字を2倍にして置換する
Query
Response
Query
Response
replaceRegexpOne
haystack 内で、正規表現 pattern (re2 構文) に一致する部分文字列の最初の出現箇所を replacement 文字列に置き換えます。
replacement には置換 \0-\9 を含めることができます。
置換 \1-\9 は第1〜第9のキャプチャグループ (部分一致) に対応し、置換 \0 は一致全体に対応します。
pattern または replacement 文字列内で \ 文字そのものを使用するには、\ でエスケープします。
また、文字列リテラルでは追加のエスケープが必要になる点にも注意してください。
構文
haystack— 検索対象の入力文字列です。Stringpattern— 検索する正規表現パターンです。const Stringreplacement—patternに一致した部分を置き換える文字列です。置換指定 を含めることができます。const String
String
例
ISO日付をアメリカ形式に変換する
Query
Response
Query
Response
translate
from および to 文字列で定義された 1 対 1 の文字対応に従って、文字列 s 内の文字を置換します。
from と to は定数の ASCII 文字列である必要があります。
from と to の長さが同じ場合、s 内の from の 1 文字目は to の 1 文字目に、from の 2 文字目は to の 2 文字目に、というように置換されます。
from に to より多くの文字が含まれている場合、to に対応する文字がない from 末尾の文字は、s からすべて削除されます。
s 内の非 ASCII 文字は、この関数では変更されません。
構文
s— 変換対象の入力文字列。Stringfrom— 置換する文字を含む定数 ASCII 文字列。const Stringto— 置換後の文字を含む定数 ASCII 文字列。const String
String
例
文字マッピング
Query
Response
Query
Response
translateUTF8
translate と同様ですが、s、from、to は UTF-8 でエンコードされた文字列であることを前提としています。
構文
s— 変換対象の UTF-8 入力文字列。Stringfrom— 置換対象の文字を含む定数 UTF-8 文字列。const Stringto— 置換後の文字を含む定数 UTF-8 文字列。const String
String データ型の値を返します。String
例
UTF-8 文字の変換
Query
Response