以下の関数ドキュメントは、
system.functions システムテーブルから生成されています。FQDN
fullHostName
引数
- なし。
String
例
使用例
Query
Response
MACNumToString
UInt64 型の数値を、ビッグエンディアン形式の MAC アドレスとして解釈します。
対応する MAC アドレスを、AA:BB:CC:DD:EE:FF フォーマット (コロン区切りの16進数表記) の文字列として返します。
構文
num— UInt64 型の数値。UInt64
String
例
使用例
Query
Response
MACStringToNum
s— MACアドレスの文字列。String
UInt64 型の数値を返します。UInt64
例
使用例
Query
Response
MACStringToOUI
s— MAC アドレスの文字列。String
UInt64
例
使用例
Query
Response
authenticatedUser
EXECUTE AS コマンドで切り替えられている場合、この関数は、認証とセッションの作成に使われた元のユーザー名を返します。
別名: authUser()
構文
authUser
引数
- なし。
String
例
使用例
Query
Response
bar
width 文字幅となる、(x - min) に比例した幅の帯を描画します。
帯は 1 文字の 8 分の 1 の精度で描画されます。
構文
x— 表示するサイズ。(U)Int*またはFloat*またはDecimalmin— 最小値。(U)Int*またはFloat*またはDecimalmax— 最大値。(U)Int*またはFloat*またはDecimalwidth— オプション。バーの幅 (文字数) です。既定値は80です。const (U)Int*またはconst Float*またはconst Decimal
String
例
使用例
Query
Response
blockNumber
- なし。
UInt64
例
基本的な使い方
Query
Response
blockSerializedSize
x1[, x2, ...]— ブロックの非圧縮サイズを取得する対象となる、任意の数の値。Any
UInt64
例
使用例
Query
Response
blockSize
- なし。
UInt64
例
使用例
Query
Response
buildId
- なし
String
例
使用例
Query
Response
byteSize
String 型の引数の場合、この関数は文字列の長さ + 8 (長さ) を返します。
この関数に複数の引数がある場合、それらのバイトサイズの合計を返します。
構文
arg1[, arg2, ...]— 非圧縮時のバイトサイズを推定する対象となる、任意のデータ型の値。Any
UInt64
例
使用例
Query
Response
Query
Response
catboostEvaluate
- catboost 評価ライブラリをビルドする
libcatboostmodel.<so|dylib> ライブラリを利用できる状態にしておく必要があります。コンパイル方法については、CatBoost documentation を参照してください。
次に、libcatboostmodel.<so|dylib> へのパスを ClickHouse の設定で指定します:
catboostEvaluate() を最初に実行すると、まだ起動していない場合は、サーバーが library bridge プロセスを起動します。両プロセスは
HTTPインターフェイスを使用して通信します。デフォルトではポート 9012 が使用されます。別のポートは次のように指定できます。これは、ポート
9012 がすでに別のサービスに割り当てられている場合に便利です。
- libcatboost を使用して CatBoost モデルを学習します
path_to_model— catboost モデルへのパス。const Stringfeature— 1 つ以上のモデルの特徴量/引数。Float*
Float64
例
catboostEvaluate
Query
Response
colorOKLABToSRGB
- L: 知覚的な明度 (通常は [0..1] の範囲)
- a: 緑-赤の対立軸
- b: 青-黄の対立軸
- OKLab から Linear sRGB への変換。 2) Linear sRGB からガンマエンコードされた sRGB への変換。
tuple— 3 つの数値L、a、bからなるタプルです。Lの範囲は[0...1]です。Tuple(Float64, Float64, Float64)gamma— 省略可能です。各チャネルxに(x ^ (1 / gamma)) * 255を適用して、Linear sRGB を sRGB に戻す際に使用する指数です。既定値は2.2です。Float64
(R, G, B) を返します。Tuple(Float64, Float64, Float64)
例
OKLAB を sRGB (Float) に変換
Query
Response
Query
Response
colorOKLCHToSRGB
L が範囲 [0...1] 外にある場合、C が負の場合、または H が範囲 [0...360] 外にある場合、結果は実装依存です。
OKLCH は、OKLab 色空間の円筒座標表現です。
3 つの座標は、
L (範囲 [0...1] の明度) 、C (彩度 >= 0) 、H ([0...360] の範囲の度数による色相) です。
OKLab/OKLCH は、知覚的に均一でありながら、計算コストを低く抑えられるよう設計されています。colorSRGBToOKLCH の逆変換です。
- OKLCH から OKLab へ。 2) OKLab から Linear sRGB へ 3) Linear sRGB から sRGB へ
tuple— 3 つの数値L、C、Hから成るタプル。Lは範囲[0...1]、C >= 0、Hは範囲[0...360]です。Tuple(Float64, Float64, Float64)gamma— 任意。各チャネルxに(x ^ (1 / gamma)) * 255を適用して、線形 sRGB を sRGB に変換する際に使用する指数です。デフォルトは2.2です。Float64
Tuple(Float64, Float64, Float64)
例
OKLCH を sRGB に変換する
Query
Response
Query
Response
colorSRGBToOKLAB
[0...255] の範囲外にある場合、またはガンマ値が 0 以下の場合の動作は実装依存です。
OKLAB は知覚的に均一な色空間です。
その 3 つの座標は、
L ([0...1] の範囲の明度) 、a(緑-赤軸)、b(青-黄軸) です。
OKLab は、計算コストを抑えつつ知覚的に均一になるよう設計されています。- sRGB から Linear sRGB 2) Linear sRGB から OKLab
tuple— 範囲[0...255]の 3 つの値 R、G、B からなるタプル。Tuple(UInt8, UInt8, UInt8)gamma— オプション。各チャネルxに(x / 255)^gammaを適用して sRGB を線形化するために使用する指数です。デフォルトは2.2です。Float64
(L, a, b) を返します。Tuple(Float64, Float64, Float64)
例
sRGB を OKLAB に変換する
Query
Response
colorSRGBToOKLCH
[0...255] の範囲外であるか、ガンマ値が 0 以下の場合の動作は実装依存です。
OKLCH は、OKLab 色空間の円筒座標表現です。
その 3 つの座標は、
L ([0...1] の範囲の明度) 、C (>= 0 の彩度) 、H ([0...360] の範囲の度数で表した色相) です。
OKLab/OKLCH は、計算コストを抑えつつ知覚的に一様になるよう設計されています。- sRGB から Linear sRGB 2) Linear sRGB から OKLab 3) OKLab から OKLCH。
tuple— 範囲[0...255]の 3 つの値 R、G、B からなる Tuple。Tuple(UInt8, UInt8, UInt8)gamma— 省略可。各チャネルxに(x / 255)^gammaを適用して sRGB を線形化する際に使う指数。既定値は2.2です。Float64
Tuple(Float64, Float64, Float64)
例
sRGB を OKLCH に変換
Query
Response
connectionId
CONNECTION_ID 関数との互換性を保つために作成されました。
通常、本番環境のクエリでは使用されません。
構文
- ありません。
UInt64
例
使用例
Query
Response
countDigits
この関数は10進数値の scale を考慮します。つまり、基になる整数型
(value * scale) に対して結果を計算します。例:countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x の表現に必要な桁数を返します。UInt8
例
使用例
Query
Response
currentDatabase
CREATE TABLE クエリのテーブルエンジンパラメータで便利です。
SETステートメント も参照してください。
構文
current_database, SCHEMA, DATABASE
引数
- ありません。
String
例
使用例
Query
Response
Query
Response
currentProfiles
- ありません。
Array(String)
例
使用例
Query
Response
currentQueryID
current_query_id
引数
- なし。
Query
Response
currentRoles
- なし。
Array(String)
例
使用例
Query
Response
currentSchemas
currentDatabase と同じですが、次の点が異なります。
- 無視される真偽値の引数を受け取ります
- データベース名を、単一の値を含む配列として返します。
currentSchemas は、PostgreSQL との互換性のためにのみ存在します。
代わりに currentDatabase を使用してください。
SET ステートメント も参照してください。
構文
current_schemas
引数
bool— 無視されるブール値。Bool
Array(String)
例
使用例
Query
Response
currentUser
session_user, user, current_user
引数
- なし。
String
例
使用例
Query
Response
Query
Response
defaultProfiles
- なし
Array(String)
例
使用例
Query
Response
defaultRoles
- なし。
Array(String)
例
使用例
Query
Response
defaultValueOfArgumentType
expression— 任意の型の値、または任意の型の値になる式。Any
0、文字列型の場合は空文字列、Nullable 型の場合は NULL を返します。UInt8 または String または NULL
例
使用例
Query
Response
Query
Response
defaultValueOfTypeName
type— 型名を表す文字列。String
0、文字列型の場合は空文字列、Nullable UInt8 または String、あるいは NULL の場合は NULL です。
例
使用例
Query
Response
Query
Response
displayName
display_name の値を返します。設定されていない場合は、サーバーの完全修飾ドメイン名 (FQDN) を返します。
構文
- なし。
display_name の値を返します。設定されていない場合は、サーバーの FQDN を返します。String
例
使用例
Query
Response
dumpColumnStructure
x— 説明を取得する対象の値。Any
String
例
使用例
Query
Response
enabledProfiles
- なし。
Array(String)
例
使用例
Query
Response
enabledRoles
- なし。
Array(String)
例
使用例
Query
Response
errorCodeToName
error_code のテキスト形式の名前を返します。String
例
使用例
Query
Response
file
file テーブル関数も参照してください。
構文
path—user_files_pathからの相対パス。ワイルドカード*、**、?、{abc,def}、{N..M}をサポートします。ここで、NとMは数値、'abc'と'def'は文字列です。Stringdefault— ファイルが存在しない場合、またはアクセスできない場合に返される値。StringまたはNULL
String
例
ファイルをテーブルに挿入
Query
Response
filesystemAvailable
filesystemUnreserved) よりも小さくなります。
構文
disk_name— 任意。空き容量を取得する対象のディスク名です。省略した場合は、デフォルトのディスクが使用されます。StringまたはFixedString
UInt64
例
使用例
Query
Response
filesystemCapacity
disk_name— 任意。容量を取得する対象のディスク名です。省略した場合は、デフォルトのディスクが使用されます。StringまたはFixedString
UInt64
例
使用例
Query
Response
filesystemUnreserved
filesystemFree) 。
関連項目: filesystemAvailable。
構文
disk_name— 省略可能。空き容量の合計を取得する対象のディスク名です。省略した場合は、デフォルトのディスクが使用されます。StringまたはFixedString
UInt64
例
使用例
Query
Response
finalizeAggregation
state— 集約状態。AggregateFunction
Any
例
使用例
Query
Response
Query
Response
flipCoordinates
geometry— 変換対象のジオメトリ。対応する型: Point (Tuple(Float64, Float64)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)), または Geometry (これらのいずれかの型を含むバリアント) 。
Point または Ring または Polygon または MultiPolygon または LineString または MultiLineString または Geometry
例
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
query— フォーマットする SQL クエリ。 String
String
例
複数行
Query
Response
formatQueryOrNull
query— 整形する対象のSQLクエリ。String
String
例
複数行
Query
Response
formatQuerySingleLine
query— フォーマット対象のSQLクエリ。String
String
例
複数行
Query
Response
formatQuerySingleLineOrNull
query— フォーマット対象のSQLクエリ。String
String
例
複数行
Query
Response
formatReadableDecimalSize
parseReadableSize です。
構文
value— バイト単位のサイズ。Int8またはInt16またはInt32またはInt64またはUInt8またはUInt16またはUInt32またはUInt64またはFloat32またはFloat64またはDecimalprecision— オプション。精度。デフォルトは 2 です。const UInt8
String
例
ファイルサイズを見やすい形式で表示する
Query
Response
Query
Response
formatReadableQuantity
Float64 にキャストします。
値が大きい場合、結果が不正確になることがあります。
構文
value— フォーマットする数値です。Int8またはInt16またはInt32またはInt64またはUInt8またはUInt16またはUInt32またはUInt64またはFloat32またはFloat64またはDecimalprecision— 任意です。精度を指定します。デフォルトは 2 です。const UInt8
String
例
数値を接尾辞付きでフォーマットする
Query
Response
Query
Response
formatReadableSize
parseReadableSize、parseReadableSizeOrZero、および parseReadableSizeOrNull です。
この関数は入力として任意の数値型を受け付けますが、内部ではそれらを Float64 にキャストします。値が大きい場合、結果が最適にならないことがあります。
構文
FORMAT_BYTES
引数
value— バイト単位のサイズ。Int8またはInt16またはInt32またはInt64またはUInt8またはUInt16またはUInt32またはUInt64またはFloat32またはFloat64またはDecimalprecision— 省略可能です。精度です。デフォルトは 2 です。const UInt8
String
例
ファイルサイズのフォーマット
Query
Response
Query
Response
formatReadableTimeDelta
INTERVAL 式が与えられると、この関数は年/月/日/時/分/秒/ミリ秒/マイクロ秒/ナノ秒を含む時間差を文字列で返します。
この関数は任意の数値型を入力として受け付けますが、内部的にはそれらを Float64 にキャストします。値が大きい場合、結果が最適でないことがあります。
INTERVAL 式が渡されると、その値は秒に変換されます。MONTH 以上の interval 単位 (MONTH、QUARTER、YEAR) は、秒単位で固定長の間隔を表さないため、サポートされていません。
構文
column— 数値の時間差を表すカラム、またはINTERVAL式。MONTH以上の Interval 単位はサポートされていません。Float64またはIntervalmaximum_unit— 任意。表示する最大の単位。有効な値:nanoseconds、microseconds、milliseconds、seconds、minutes、hours、days、months、years。デフォルト値:years。const Stringminimum_unit— 任意。表示する最小の単位。これより小さい単位はすべて切り捨てられます。有効な値:nanoseconds、microseconds、milliseconds、seconds、minutes、hours、days、months、years。明示的に指定した値がmaximum_unitより大きい場合は、例外がスローされます。デフォルト値:maximum_unitがseconds以上の場合はseconds、それ以外の場合はnanoseconds。const String
String
例
使用例
Query
Response
Query
Response
Query
Response
fuzzQuery
allow_fuzz_query_functions = 1 が必要です。
構文
query— ファズ対象の SQL クエリ。String
String
例
基本的な例
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ... の形式でランダムなテーブルの構造を生成します。
構文
number_of_columns— 生成されるテーブル構造のカラム数。0 またはNullに設定すると、カラム数は 1〜128 の範囲でランダムに決まります。デフォルト値:Null。UInt64seed— 再現可能な結果を得るための乱数シード。seed が指定されていないかNullに設定されている場合は、ランダムに生成されます。UInt64
String
例
使用例
Query
Response
Query
Response
Query
Response
generateSerialID
series_keeper_path で設定できます。
構文
series_identifier— シリーズ識別子const Stringstart_value— 任意。カウンターの開始値です。デフォルトは 0 です。注意: この値が使用されるのは新しいシリーズを作成する場合のみで、シリーズがすでに存在する場合は無視されますUInt*
UInt64
例
最初の呼び出し
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Authentication および X-ClickHouse-*) は制限されています。
Setting
allow_get_client_http_header が必要ですこの関数を使用するには、setting allow_get_client_http_header を有効にする必要があります。
Cookie などの一部のヘッダーに機微な情報が含まれる可能性があるため、セキュリティ上の理由から、この setting はデフォルトでは有効になっていません。name— HTTP ヘッダーの名前。String
String
例
使用例
Query
Response
getMacro
<macros>セクションで定義され、ホスト名が複雑な場合でも、わかりやすい名前でサーバーを識別するために使用できます。
この関数を分散テーブル上で実行すると、各分片に対応する値を持つ通常のカラムが生成されます。
構文
name— 取得するマクロの名前。const String
String
例
基本的な使い方
Query
Response
getMaxTableNameLengthForDatabase
database_name— 指定したデータベースの名前。String
Query
Response
getMergeTreeSetting
setting_name— 設定の名前。String
Query
Response
getOSKernelVersion
- なし
String
例
使用例
Query
Response
getServerPort
port_name— ポート名。String
UInt16
例
使用例
Query
Response
getServerSetting
setting_name— サーバー設定の名前。String
Any
例
使用例
Query
Response
getSetting
setting_Name— 設定名。const String
Any
例
使用例
Query
Response
getSettingOrDefault
setting_name— 設定名。Stringdefault_value— custom_setting が設定されていない場合に返される値。値には任意のデータ型または Null を指定できます。
default_value を返します。
例
使用例
Query
Response
getSizeOfEnumType
Enumに含まれるフィールドの数を返します。
構文
x—Enum型の値。Enum
Enum 型の入力値を持つフィールドの数を返します。UInt8/16
例
使用例
Query
Response
getSubcolumn
- なし。
Query
Response
getTypeSerializationStreams
col— データ型を検出する対象の、カラム、またはデータ型の文字列表現。Any
Array(String)
例
tuple
Query
Response
Query
Response
globalVariable
name— グローバル変数の名前。String
name の値を返します。Any
例
globalVariable
Query
Response
hasColumnInTable
0 を返します。
構文
database— データベース名。const Stringtable— テーブル名。const Stringcolumn— カラム名。const Stringhostname— 任意。確認を実行するリモートサーバー名。const Stringusername— 任意。リモートサーバーのユーザー名。const Stringpassword— 任意。リモートサーバーのパスワード。const String
1、存在しない場合は 0 を返します。UInt8
例
既存のカラムを確認する
Query
Response
Query
Response
hasThreadFuzzer
- なし。
UInt8
例
Thread Fuzzer の状態を確認する
Query
Response
highlightQuery
query— ClickHouse SQLのクエリ文字列。String。
(begin UInt64, end UInt64, type Enum8(...)) の配列。Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
例
シンプル
Query
Response
hostName
hostname
引数
- ありません。
String
例
使用例
Query
Response
icebergBucket
N— バケット数 (法) 。const (U)Int*value— 変換元の値。(U)Int*またはBoolまたはDecimalまたはFloat*またはStringまたはFixedStringまたはUUIDまたはDateまたはTimeまたはDateTime
Int32
例
例
Query
Response
icebergTruncate
Query
Response
identity
identity 関数内の内容をすべて無視し、定数畳み込みも無効にします。
構文
x— 入力値。Any
Any
例
使用例
Query
Response
ignore
0 を返します。
構文
x— 構文エラーを回避するためだけに渡され、実際には使用されない入力値です。Any
0 を返します。UInt8
例
使用例
Query
Response
indexHint
indexHint でラップされていないものとして扱われます。
これにより、対応する条件に基づいて索引範囲内のデータを選択できますが、その条件による追加の絞り込みは行われません。
ClickHouse の索引はスパースであるため、indexHint を使用すると、同じ条件を直接指定した場合よりも多くのデータが返されます。
説明
説明
次を実行すると:ClickHouse は次の 2 つを行います:ClickHouse が行うのは 1 つだけです:
- 索引を使って、
key = 123を含む可能性のあるグラニュール (約 8192 行のブロック) を見つける - それらのグラニュールを読み取り、
key = 123の行だけを返すように行ごとにフィルタする
indexHint を使って次を実行すると:- 索引を使って key = 123 を含む可能性のあるグラニュールを見つけ、それらのグラニュールから フィルタせずに すべての行を返す
key = 456 や key = 789 などの行も含め、8,192 行すべてが返されます。 (同じグラニュールにたまたま格納されていたものがすべて返されます。)
indexHint() はパフォーマンスのためのものではありません。これは、ClickHouse の索引がどのように機能するかをデバッグし、理解するためのものです:- 自分の条件はどのグラニュールを選択しているか
- それらのグラニュールには何行あるか
- 自分の索引は効果的に使われているか
indexHint 関数を使ってクエリを最適化することはできません。indexHint 関数はクエリ解析に追加情報を与えないため、クエリを最適化しません。indexHint 関数の中に式を入れても、indexHint 関数を使わない場合と比べて何ら有利ではありません。indexHint 関数は内部診断とデバッグの目的でのみ使用でき、パフォーマンスを改善するものではありません。ClickHouse のコントリビューター以外が indexHint を使っているのを見かけた場合、それはおそらく誤りなので削除すべきです。
構文
expression— 索引範囲の選択に使用する任意の式。式
1 を返します。UInt8
例
日付でフィルタリングする使用例
Query
Response
initialQueryID
system.query_log の initial_query_id フィールドから取得できます。
queryID 関数とは異なり、initialQueryID は異なる分片でも同じ結果を返します。
構文
initial_query_id
引数
- なし。
String
例
使用例
Query
Response
initialQueryStartTime
initialQueryStartTime は、異なる分片でも同じ結果を返します。
構文
initial_query_start_time
引数
- なし。
DateTime
例
使用例
Query
Response
initializeAggregation
AggregateFunction 型のカラムに挿入したり、初期化された集約をデフォルト値として使用したりできます。
Syntax
initializeAggregation の第1引数として指定する関数の戻り値の型と同じです。 Any
例
uniqState を使った基本的な使い方
Query
Response
Query
Response
isConstant
x— 確認する式。Any
x が定数であれば 1、定数でなければ 0 を返します。UInt8
例
定数式
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
1、指定された精度を満たしている場合は 0 を返します。UInt8
例
使用例
Query
Response
joinGet
ENGINE = Join(ANY, LEFT, <join_keys>) ステートメント で作成されたテーブルのみサポートしています。join_storage_table_name— 検索対象を示す識別子です。この識別子はデフォルトデータベース内で検索されます (設定ファイルのパラメータdefault_databaseを参照) 。デフォルトデータベースを変更するには、USE database_nameクエリを使用するか、database_name.table_nameのようにデータベース名とテーブル名をドットで指定します。Stringvalue_column— 必要なデータを含むtableのカラム名です。const Stringjoin_keys— 結合キーのリストです。Any
Any
例
使用例
Query
Response
Query
Response
Query
Response
joinGetOrNull
joinGet とは異なり、キーが存在しない場合は NULL を返します。
ENGINE = Join(ANY, LEFT, <join_keys>) ステートメント で作成されたテーブルのみサポートします。join_storage_table_name— 検索を実行する場所を指定する識別子です。この識別子はデフォルトデータベース内で検索されます (設定ファイルの default_database パラメータを参照) 。デフォルトデータベースを変更するには、USE database_nameクエリを使用するか、database_name.table_nameのようにドット区切りでデータベース名とテーブル名を指定します。Stringvalue_column— 必要なデータを含むテーブルのカラム名です。const Stringjoin_keys— 結合キーのリストです。Any
NULL を返します。Any
例
使用例
Query
Response
lowCardinalityIndices
col— 低カーディナリティのカラム。LowCardinality
UInt64
例
使用例
Query
Response
lowCardinalityKeys
col— 低カーディナリティのカラムです。LowCardinality
UInt64
例
lowCardinalityKeys
Query
Response
materialize
x— 定数。Any
Any
例
使用例
Query
Response
minSampleSizeContinuous
minSampleSizeContinous
引数
baseline— メトリックのベースライン値。(U)Int*またはFloat*sigma— メトリックのベースライン標準偏差。(U)Int*またはFloat*mde— ベースライン値に対する割合としての最小検出効果 (MDE) (例: ベースライン値が 112.25 の場合、MDE が 0.03 であれば、112.25 ± 112.25*0.03 への変化を想定します) 。(U)Int*またはFloat*power— テストに必要な統計的検出力 (1 - 第 II 種過誤の確率) 。(U)Int*またはFloat*alpha— テストに必要な有意水準 (第 I 種過誤の確率) 。(U)Int*またはFloat*
minimum_sample_size、detect_range_lower、detect_range_upper を持つ名前付き Tuple を返します。これらはそれぞれ、必要なサンプルサイズ、返される必要サンプルサイズでは検出できない値の範囲の下限 (baseline * (1 - mde) として計算) 、および返される必要サンプルサイズでは検出できない値の範囲の上限 (baseline * (1 + mde) として計算) です (Float64) 。 Tuple(Float64, Float64, Float64)
例
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
baseline— ベースラインのコンバージョン率。Float*mde— パーセンテージポイントで表した最小検出可能効果 (MDE) 。 (例: ベースラインのコンバージョン率が 0.25 の場合、MDE が 0.03 であれば、0.25 ± 0.03 への変化を想定します。)Float*power— テストで必要な統計的検出力 (1 - 第 II 種過誤の確率) 。Float*alpha— テストで必要な有意水準 (第 I 種過誤の確率) 。Float*
minimum_sample_size、detect_range_lower、detect_range_upper を持つ名前付きTupleを返します。これらはそれぞれ、必要なサンプルサイズ、返される必要サンプルサイズでは検出できない値の範囲の下限 (baseline - mde として計算) 、返される必要サンプルサイズでは検出できない値の範囲の上限 (baseline + mde として計算) を表します。Tuple(Float64, Float64, Float64)
例
minSampleSizeConversion
Query
Response
neighbor
data block の物理的な順序に基づいて動作するため、ユーザーが想定する論理的な順序と一致しない可能性があり、エラーを引き起こしやすくなっています。
代わりに、適切なウィンドウ関数の使用を検討してください。
この関数は、allow_deprecated_error_prone_window_functions = 1 を設定することで有効にできます。
構文
column— 対象のカラム。Anyoffset— 現在の行からのオフセット。正の値は後方を、負の値は前方を参照します。Integerdefault_value— 任意。オフセットがデータ範囲外になった場合に返す値です。指定しない場合は、カラム型のデフォルト値が使用されます。Any
Any
例
使用例
Query
Response
Query
Response
normalizeQuery
? に置き換えます。
構文
x— 文字列。String
String
例
使用例
Query
Response
normalizeQueryKeepNames
? に置き換えますが、複雑な別名 (空白を含むもの、3 桁以上の数字を含むもの、または UUID などのように 36 バイト以上の長さを持つもの) は置き換えません。
これにより、複雑なクエリログをより適切に分析しやすくなります。
構文
x— 文字列。String
String
例
使用例
Query
Response
normalizedQueryHash
x— 文字列。String
UInt64
例
使用例
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash と同様に、類似したクエリに対してはリテラル値を除いた同一の64ビットのハッシュ値を返しますが、ハッシュ化の前に複雑な別名 (空白を含む、3桁以上の数字を含む、または UUID のように36バイト以上の長さがあるもの) をプレースホルダーに置き換えることはありません。
クエリログの分析に役立ちます。
構文
x— 文字列。String
UInt64
例
使用例
Query
Response
obfuscateQuery
tag パラメータは、同じ関数呼び出しが
1 つのクエリ内で複数回使われる場合に、共通部分式除去を防ぎます。これにより、呼び出しごとに異なる難読化結果が生成されます。
特長:
- テーブル名、カラム名、別名をランダムな単語に置き換えます
- 数値リテラルと文字列リテラルをランダムな値に置き換えます
- クエリ全体の構造と SQL 構文を保持します
- 行ごとに異なる結果を生成します
query— 難読化する SQL クエリ。Stringtag— 任意。同じ関数呼び出しが複数回使用される場合に、共通部分式除去を防ぐための値です。
String
例
基本的な使い方
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
obfuscateQuery() とは異なり、この関数は同じ seed を指定すると常に同じ結果を返します。
そのため、複数回の実行にわたって一貫した難読化が必要な場合や、
テストやデバッグのために同じ難読化済みクエリを再現したい場合に役立ちます。
特徴:
- 指定した seed に基づく決定論的な難読化
- 同じ seed からは常に同じ難読化結果を生成
- 異なる seed からは異なる結果を生成
obfuscateQuery()と同様にクエリの構造を保持
- 再現可能なテストケース
- 複数回の実行で一貫した匿名化
- 一貫した難読化済みクエリを用いたデバッグ
String
例
整数シードを使用した決定論的な難読化
Query
Response
Query
Response
Query
Response
parseReadableSize
B、KiB、KB、MiB、MB など (つまり ISO/IEC 80000-13 または 10 進バイト単位) が与えられると、この関数は対応するバイト数を返します。
この関数が入力値を解析できない場合は、例外をスローします。
この関数の逆演算は formatReadableSize と formatReadableDecimalSize です。
構文
x— ISO/IEC 80000-13 または 10 進のバイト単位を使用した、読みやすいサイズ表記。String
UInt64
例
使用例
Query
Response
parseReadableSizeOrNull
B、KiB、KB、MiB、MB など (つまり ISO/IEC 80000-13 または10進のバイト単位) を受け取り、対応するバイト数を返します。
入力値を解析できない場合、この関数は NULL を返します。
この関数の逆演算は formatReadableSize と formatReadableDecimalSize です。
構文
x— ISO/IEC 80000-13 または 10 進バイト単位で表された、人が読みやすい形式のサイズ。String
NULL を返します。Nullable(UInt64)
例
使用例
Query
Response
parseReadableSizeOrZero
B、KiB、KB、MiB、MB など (つまり ISO/IEC 80000-13 または 10 進バイト単位) を含む場合、この関数は対応するバイト数を返します。
この関数が入力値を解析できない場合は、0 を返します。
この関数の逆関数にあたるのは formatReadableSize と formatReadableDecimalSize です。
構文
x— ISO/IEC 80000-13 または 10 進のバイト単位による、人間が読みやすいサイズ。String
0 を返します。UInt64
例
使用例
Query
Response
parseTimeDelta
years,year,yr,ymonths,month,moweeks,week,wdays,day,dhours,hour,hr,hminutes,minute,min,mseconds,second,sec,smilliseconds,millisecond,millisec,msmicroseconds,microsecond,microsec,μs,µs,usnanoseconds,nanosecond,nanosec,ns
;、-、+、,、:) を使って組み合わせることができます。
年と月の長さは概算です。1 年は 365 日、1 か月は 30.5 日として扱います。
構文
timestr— 数字の並びに、時間の単位を表す文字列が続く値。String
Float64
例
使用例
Query
Response
Query
Response
partitionId
この関数は低速なため、大量の行に対しては呼び出さないでください。
partitionID
引数
column1, column2, ...— パーティション ID を返す対象となるカラム。
String
例
使用例
Query
Response
queryID
system.query_log テーブルの query_id フィールドから取得できます。
initialQueryID 関数とは異なり、queryID は分片ごとに異なる結果を返す場合があります。
構文
query_id
引数
- なし。
String
例
使用例
Query
Response
revision
- なし。
UInt32
例
使用例
Query
Response
rowNumberInAllBlocks
- なし。
0 から始まる序数で返します。UInt64
例
使用例
Query
Response
rowNumberInBlock
rowNumberInBlock は、処理対象の各ブロックについて、現在の行の番号を返します。
返される番号は、各ブロックごとに 0 から始まります。
構文
- なし。
0 から始まるデータブロック内の行の序数を返します。UInt64
例
使用例
Query
Response
runningAccumulate
agg_state— 集約関数の状態。AggregateFunctiongrouping— 任意。グループ化キー。groupingの値が変わると、関数の状態はリセットされます。等価演算子が定義されている任意のサポート対象データ型を指定できます。Any
Any
例
initializeAggregation を使用した使用例
Query
Response
runningConcurrency
start— イベントの開始時刻を表すカラム。DateまたはDateTimeまたはDateTime64end— イベントの終了時刻を表すカラム。DateまたはDateTimeまたはDateTime64
UInt32
例
使用例
Query
Response
runningDifference
0 を返し、2 行目以降は直前の行との差を返します。
この関数の結果は、対象となるデータブロックと、そのブロック内でのデータの順序に依存します。
runningDifference() の計算時の行の順序は、ユーザーに返される行の順序と異なる場合があります。
これを防ぐには、ORDER BY を含むサブクエリを作成し、その外側でこの関数を呼び出します。
ブロックサイズが結果に影響する点に注意してください。
runningDifference の内部状態は、新しいブロックごとにリセットされます。
構文
x— 連続する値の差分を計算する対象のカラム。Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference とは異なり、最初の行については 0 ではなく実際の値を返します。
構文
x— 連続する値の差分を計算する対象のカラム。Any
Any
例
使用例
Query
Response
serverUUID
- なし。
UUID
例
使用例
Query
Response
0 が返されます。
構文
- なし。
0 を返します。UInt32
例
使用例
Query
Response
1 から始まります。
クエリが分散クエリでない場合は、定数値 0 が返されます。
構文
- なし。
0 を返します。UInt32
例
使用例
Query
Response
showCertificate
- なし。
Map(String, String)
例
使用例
Query
Response
sleep
sleep() 関数は、クエリのパフォーマンスやシステムの応答性に悪影響を及ぼす可能性があるため、通常、本番環境では使用すべきではありません。
ただし、次のような場面では有用です。
- テスト: ClickHouse のテストやベンチマークを行う際に、遅延をシミュレートしたり一時停止を挟んだりして、特定の条件下でシステムがどのように動作するかを観察したい場合があります。
- デバッグ: 特定の時点におけるシステムの状態やクエリの実行状況を確認する必要がある場合は、
sleep()を使って一時停止を入れることで、関連情報を調査または収集できます。 - シミュレーション: ネットワークレイテンシーや外部システムへの依存関係など、遅延や一時停止が発生する実際の状況をシミュレートしたい場合があります。
allow_sleep が有効な場合) のみです。
構文
seconds— クエリの実行を最大 3 秒まで一時停止する秒数です。小数秒を指定するには、浮動小数点値も使用できます。const UInt*またはconst Float*
0 を返します。UInt8
例
使用例
Query
Response
sleepEachRow
sleepEachRow() 関数は、sleep() 関数と同様に、主にテストやデバッグのために使用されます。
この関数を使うと、各行の処理ごとに遅延や一時停止を発生させることができ、次のような場面で役立ちます。
- テスト: 特定の条件下で ClickHouse の性能をテストまたはベンチマークする際に、
sleepEachRow()を使って、処理される各行ごとに遅延や一時停止を発生させることができます。 - デバッグ: 処理される各行について、システムの状態やクエリの実行状況を確認する必要がある場合は、
sleepEachRow()で一時停止を入れることで、関連情報を調査したり収集したりできます。 - シミュレーション: 場合によっては、外部システムやネットワーク遅延を扱うケースのように、処理される各行ごとに遅延や一時停止が発生する実運用に近い状況をシミュレートしたいことがあります。
seconds— 結果セットの各行に対して、クエリの実行を最大 3 秒まで一時停止する秒数です。小数秒を指定するには浮動小数点値を使用できます。const UInt*またはconst Float*
0 を返します。UInt8
例
使用例
Query
Response
structureToCapnProtoSchema
- なし。
Query
Response
structureToProtobufSchema
structure— 文字列で指定する ClickHouse テーブルの構造定義です (例: ‘column1 Type1, column2 Type2’) 。Stringmessage_name— 生成されるスキーマ内の Protobuf メッセージ型の名前です。String
String
例
ClickHouse テーブル構造を Protobuf スキーマに変換する
Query
Response
tcpPort
- ありません。
UInt16
例
使用例
Query
Response
throwIf
error_code 引数を使用するには、設定パラメータ allow_custom_error_code_in_throw を有効にする必要があります。
構文
x— 確認する条件。Anymessage— 任意。カスタムエラーメッセージ。const Stringerror_code— 任意。カスタムエラーコード。const Int8/16/32
false の場合は 0 を返し、条件が true の場合は例外がスローされます。UInt8
例
使用例
Query
Response
toColumnTypeName
toTypeName とは異なり、返されるデータ型には Const や LowCardinality などの内部ラッパーのカラムが含まれる場合があります。
構文
value— 内部データ型を返す対象となる値。Any
String
例
使用例
Query
Response
toTypeName
NULL が渡された場合、この関数は型 Nullable(Nothing) を返します。これは ClickHouse の内部的な NULL 表現に対応します。
構文
x— 任意の型の値。Any
String
例
使用例
Query
Response
tokenizeQuery
query— ClickHouse SQLクエリの文字列。String。
(begin UInt64, end UInt64, type Enum8(...)) の配列。Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
例
シンプル
Query
Response
transactionID
この関数は実験的機能の一部です。
実験的なトランザクションサポートを有効にするには、次の設定を 設定 に追加してください。詳しくは、Transactional (ACID) support のページを参照してください。
- なし。
start_csn、local_tid、host_id で構成されるタプルを返します。
start_csn: グローバルな連番。このトランザクションの開始時点で確認されていた最新のコミットタイムスタンプです。local_tid: ローカルな連番。特定の start_csn 内で、このホストによって開始された各トランザクションごとに一意です。host_id: このトランザクションを開始したホストの UUID。Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
この関数は実験的な機能群の一部です。実験的なトランザクションサポートを有効にするには、設定に次の項目を追加してください。詳細については、Transactional (ACID) supportのページを参照してください。
- なし。
UInt64
例
使用例
Query
Response
transactionOldestSnapshot
この関数は実験的機能セットの一部です。以下の設定を構成に追加して、実験的なトランザクションサポートを有効にしてください。詳細は、Transactional (ACID) support のページを参照してください。
- なし。
UInt64
例
使用例
Query
Response
transform
transform(x, array_from, array_to, default)- マッピング用の配列を使ってxを変換し、一致しない要素にはデフォルト値を返しますtransform(x, array_from, array_to)- 同じ変換を行いますが、一致する要素が見つからない場合は元のxを返します
array_from 内で x を検索し、同じ索引の array_to にある対応する要素を返します。
x が array_from 内で見つからない場合は、default の値 (4 パラメータ版) または元の x (3 パラメータ版) を返します。
array_from に一致する要素が複数ある場合は、最初の一致に対応する要素を返します。
要件:
array_fromとarray_toは同じ数の要素を持っている必要があります- 4 パラメータ版:
transform(T, Array(T), Array(U), U) -> U- ここでTとUには、互換性のある異なる型を使用できます - 3 パラメータ版:
transform(T, Array(T), Array(T)) -> T- ここですべての型は同じである必要があります
x— 変換対象の値。(U)Int*またはDecimalまたはFloat*またはStringまたはDateまたはDateTimearray_from— 一致する値を検索する対象の定数配列。Array((U)Int*)またはArray(Decimal)またはArray(Float*)またはArray(String)またはArray(Date)またはArray(DateTime)array_to—array_from内で対応する一致が見つかった場合に返される値の定数配列。Array((U)Int*)またはArray(Decimal)またはArray(Float*)またはArray(String)またはArray(Date)またはArray(DateTime)default— 任意。xがarray_from内に見つからない場合に返す値。省略した場合は、xをそのまま返します。(U)Int*またはDecimalまたはFloat*またはStringまたはDateまたはDateTime
x が array_from の要素に一致する場合は array_to の対応する値を返し、それ以外の場合は default (指定されている場合) または x (default が指定されていない場合) を返します。Any
例
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
uniqThetaSketch— uniqThetaSketch オブジェクト。TupleまたはArrayまたはDateまたはDateTimeまたはStringまたは(U)Int*またはFloat*またはDecimal
UInt64
例
使用例
Query
Response
uniqThetaNot
uniqThetaSketch— uniqThetaSketch オブジェクト。TupleまたはArrayまたはDateまたはDateTimeまたはStringまたは(U)Int*またはFloat*またはDecimal
UInt64
例
使用例
Query
Response
uniqThetaUnion
uniqThetaSketch— uniqThetaSketch オブジェクト。TupleまたはArrayまたはDateまたはDateTimeまたはStringまたは(U)Int*またはFloat*またはDecimal
UInt64
例
使用例
Query
Response
稼働時間
- ありません。
UInt32
例
使用例
Query
Response
variantElement
Variant カラムから、指定した型のカラムを抽出します。
構文
variant— Variant カラム。Varianttype_name— 抽出する Variant 型の名前。Stringdefault_value—variantに指定した型の値がない場合に使用されるデフォルト値。任意の型を指定できます。省略可能です。Any
Any
例
使用例
Query
Response
variantType
Variant カラムの各行について、Variant 型名を返します。行に NULL が含まれている場合、その行については ‘None’ を返します。
構文
variant— Variant カラム。Variant
Enum
例
使用例
Query
Response
version
major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release 形式の文字列として返します。
分散テーブル上で実行された場合、この関数は各分片に対応する値を持つ通常のカラムを生成します。
それ以外の場合は、定数値を返します。
構文
- ありません。
String
例
使用例
Query
Response
visibleWidth
NULL は、Pretty フォーマットでは NULL に対応する文字列として表現されます。
構文
x— 任意のデータ型の値。Any
UInt64
例
NULL の表示幅を計算
Query
Response
zookeeperSessionUptime
- なし。
UInt32
例
使用例
Query
Response