その他の関数
hostName
この関数が実行されたホストの名前を返します。関数がリモートサーバーで実行されている場合(分散処理)、リモートサーバーの名前が返されます。 関数が分散テーブルのコンテキストで実行されると、各シャードに関連する値を持つ通常のカラムが生成されます。それ以外の場合は、定数値が生成されます。
構文
戻り値
- ホスト名。 String。
getMacro
サーバー構成の macros セクションから名前付き値を返します。
構文
引数
name
—<macros>
セクションから取得するマクロ名。 String.
戻り値
- 指定されたマクロの値。 String.
例
サーバー設定ファイルの <macros>
セクションの例:
クエリ:
結果:
同じ値は次のように取得できます:
fqdn
ClickHouseサーバーの完全修飾ドメイン名を返します。
構文
エイリアス: fullHostName
, FQDN
.
戻り値
- 完全修飾ドメイン名の文字列。 String.
例
結果:
basename
文字列の末尾をその最後のスラッシュまたはバックスラッシュに従って抽出します。この関数は、パスからファイル名を抽出するためによく使用されます。
引数
expr
— String 型の値。バックスラッシュはエスケープする必要があります。
戻り値
以下を含む文字列:
- 最後のスラッシュまたはバックスラッシュの後の入力文字列の末尾。入力文字列がスラッシュまたはバックスラッシュで終わる場合(例:
/
またはc:\
)、関数は空の文字列を返します。 - スラッシュまたはバックスラッシュがない場合は、元の文字列。
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
visibleWidth
値をテキスト形式(タブ区切り)でコンソールに出力する際のおおよその幅を計算します。 この関数は、システムによって Pretty formatsを実装するために使用されます。
NULL
は Pretty
フォーマットの NULL
に相当する文字列として表されます。
構文
例
クエリ:
結果:
toTypeName
渡された引数の型名を返します。
NULL
が渡された場合、関数は Nullable(Nothing)
型を返します。これは、ClickHouseの内部 NULL
表現に対応します。
構文
引数
value
— 任意の型の値。
戻り値
- 入力値のデータ型名。 String.
例
クエリ:
結果:
blockSize
ClickHouseでは、クエリは blocks(チャンク)で処理されます。 この関数は、関数が呼び出されたブロックのサイズ(行数)を返します。
構文
例
クエリ:
結果:
byteSize
メモリ内の引数の未圧縮バイトサイズの見積もりを返します。
構文
引数
argument
— 値。
戻り値
- メモリ内の引数のバイトサイズの見積もり。 UInt64.
例
String 引数の場合、関数は文字列の長さ + 9(終端ゼロ + 長さ)を返します。
クエリ:
結果:
クエリ:
結果:
関数が複数の引数を持つ場合は、引数のバイトサイズを累積します。
クエリ:
結果:
materialize
定数を単一の値を含む完全なカラムに変換します。 完全なカラムと定数がメモリにおいて異なる方法で表現されます。 関数は通常、通常の引数と定数引数で異なるコードを実行しますが、結果は通常同じです。 この関数は、この動作をデバッグするために使用できます。
構文
引数
x
— 定数。 Constant.
戻り値
- 単一の値
x
を含むカラム。
例
以下の例では、countMatches
関数は定数の第二引数を期待します。
この動作は、定数を完全なカラムに変換するために materialize
関数を使用することでデバッグでき、非定数引数に対して関数がエラーを投げることを確認できます。
クエリ:
結果:
ignore
任意の引数を受け入れ、無条件に 0
を返します。
引数は内部的に評価されるため、ベンチマーク等に役立ちます。
構文
引数
- 任意の型の任意の個数の引数を受け入れ、
NULL
も含まれます。
戻り値
0
を返します。
例
クエリ:
結果:
sleep
クエリの実行に遅延や一時停止を導入するために使用します。主にテストやデバッグ目的で使用されます。
構文
引数
戻り値
この関数は値を返しません。
例
この関数は値を返しません。しかし、clickhouse client
でこの関数を実行すると、以下のような出力が得られます:
このクエリは完了する前に2秒間一時停止します。この間に結果は返されず、クエリがハングしているか応答がないように見えるでしょう。
実装の詳細
sleep()
関数は一般的に本番環境では使用されず、クエリのパフォーマンスやシステムの応答性に悪影響を及ぼす可能性があります。しかし、以下のシナリオでは有用です。
- テスト: ClickHouseのテストやベンチマーク時に、特定の条件下でのシステムの動作を観察するために遅延をシミュレートしたり、一時停止を導入したりすることができます。
- デバッグ: システムの状態や特定の時点でのクエリの実行を検査する必要がある場合、
sleep()
を使用して一時停止を導入し、関連情報を確認できます。 - シミュレーション: 特定の外部システムやネットワーク遅延など、実際のシナリオをシミュレートする必要がある場合、遅延を発生させることがあります。
sleep()
関数は慎重に使用し、必要なときだけ使用することが重要です。システム全体のパフォーマンスや応答性に影響を及ぼす可能性があるためです。
sleepEachRow
結果セットの各行に対して指定された秒数の間クエリの実行を一時停止します。
構文
引数
戻り値
この関数は受け取った引数と同じ値を返し、変更しません。
例
しかし出力は遅延し、各行の間に0.5秒の一時停止があります。
sleepEachRow()
関数は、主に sleep()
関数と同様に、テストとデバッグに使用されます。行ごとの処理に遅延をシミュレートしたり、一時停止を導入したりすることができ、以下のようなシナリオで有用です。
- テスト: 特定の条件下でClickHouseのパフォーマンスをテストまたはベンチマークする際に、処理される各行に遅延を導入したり、一時的な停止を行うことができます。
- デバッグ: 各行の処理の状態を調べる必要がある場合、
sleepEachRow()
を使用して一時停止を導入し、関連情報を確認できます。 - シミュレーション: 外部システムやネットワーク遅延など、処理される各行に遅延を加えるシナリオをシミュレートする必要がある場合があります。
sleep()
関数と同様に、sleepEachRow()
を慎重に使用し、必要なときだけ使用することが重要です。特に大規模な結果セットを処理する場合、ClickHouseシステムの全体的なパフォーマンスと応答性に重大な影響を及ぼす可能性があります。
currentDatabase
現在のデータベースの名前を返します。
CREATE TABLE
クエリのテーブルエンジンパラメータで、データベースを指定する必要がある場合に便利です。
構文
戻り値
- 現在のデータベース名を返します。 String.
例
クエリ:
結果:
currentUser
現在のユーザーの名前を返します。分散クエリの場合、クエリを初期化したユーザーの名前が返されます。
構文
エイリアス: user()
, USER()
, current_user()
。エイリアスは大文字と小文字を区別しません。
戻り値
例
結果:
currentSchemas
現在のデータベーススキーマの名前を持つ単一要素配列を返します。
構文
エイリアス: current_schemas
.
引数
bool
: ブール値。 Bool.
ブール引数は無視されます。それはこの関数のPostgreSQLでの実装との互換性のために存在します。
戻り値
- 現在のデータベースの名前を持つ単一要素配列を返します。
例
結果:
isConstant
引数が定数式であるかどうかを返します。
定数式は、クエリ解析中に結果が既に知られている式、すなわち実行前の式です。例えば、リテラルに対する式は定数式です。
この関数は主に開発、デバッグ、デモ用に設計されています。
構文
引数
x
— 確認する式。
戻り値
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
hasColumnInTable
データベース名、テーブル名、および定数文字列としてのカラム名を与えると、指定されたカラムが存在する場合は1を返し、そうでない場合は0を返します。
構文
引数
database
: データベースの名前。 String literaltable
: テーブルの名前。 String literalcolumn
: カラムの名前。 String literalhostname
: チェックを行うリモートサーバーの名前。 String literalusername
: リモートサーバーのユーザー名。 String literalpassword
: リモートサーバーのパスワード。 String literal
戻り値
- 指定されたカラムが存在する場合は
1
。 - それ以外の場合は
0
。
実装の詳細
ネストされたデータ構造の要素について、カラムの存在を確認します。ネストされたデータ構造自体については、関数は0を返します。
例
クエリ:
hasThreadFuzzer
Thread Fuzzerが有効かどうかを返します。テストに使用して、実行が長すぎないようにすることができます。
構文
bar
棒グラフを作成します。
bar(x, min, max, width)
は、(x - min)
に比例した幅を持つバンドを描画し、x = max
の場合は幅 width
の文字を同じ数描画します。
引数
x
— 表示するサイズ。min, max
— 整数の定数。値はInt64
に収まる必要があります。width
— 定数の正の整数。小数にすることもできます。
バンドはシンボルの八分の一までの精度で描画されます。
例:
transform
明示的に定義されたいくつかの要素を他のものに変換するために値を変換します。 この関数には2つのバリエーションがあります:
transform(x, array_from, array_to, default)
x
– 変換するもの。
array_from
– 変換するための定数配列。
array_to
– 'from'の値を変換するための定数配列。
default
– 'x'が'from'のいずれの値とも等しくない場合に使用する値。
array_from
と array_to
は等しい数の要素を持たなければなりません。
シグネチャ:
x
が array_from
の要素の1つと等しい場合、関数は array_to
の対応する要素(すなわち、同じ配列インデックスの要素)を返します。それ以外の場合は、default
を返します。 array_from
に一致する複数の要素がある場合は、その最初の要素に対応するものを返します。
transform(T, Array(T), Array(U), U) -> U
T
と U
は数値、文字列、または日付または日時型です。
同じ文字(TまたはU)は、型が相互に互換性があり、必ずしも等しい必要はないことを意味します。
例えば、最初の引数は Int64
型である一方、第二の引数は Array(UInt16)
型である可能性があります。
例:
transform(x, array_from, array_to)
他のバリエーションに似ていますが、'default' 引数がありません。一致部分が見つからなかった場合、x
が返されます。
例:
formatReadableDecimalSize
サイズ(バイト数)を与えると、この関数は可読性のある丸められたサイズをサフィックス(KB、MB、等)付きで文字列として返します。
この関数の逆操作は parseReadableSize、parseReadableSizeOrZero、および parseReadableSizeOrNull です。
構文
例
クエリ:
結果:
formatReadableSize
サイズ(バイト数)を与えると、この関数は可読性のある丸められたサイズをサフィックス(KiB、MiB等)付きで文字列として返します。
この関数の逆操作は parseReadableSize、parseReadableSizeOrZero、および parseReadableSizeOrNull です。
構文
エイリアス: FORMAT_BYTES
.
この関数は任意の数値型を入力として受け入れますが、内部ではそれらをFloat64にキャストします。大きな値の場合、結果は最適でない場合があります。
例
クエリ:
結果:
formatReadableQuantity
数値が与えられると、この関数はサフィックス(千、百万、十億等)付きの丸められた数値を文字列として返します。
構文
この関数は任意の数値型を入力として受け入れますが、内部ではそれらをFloat64にキャストします。大きな値の場合、結果は最適でない場合があります。
例
クエリ:
結果:
formatReadableTimeDelta
与えられた時間の間隔(デルタ)を秒単位で、この関数は年/月/日/時間/分/秒/ミリ秒/マイクロ秒/ナノ秒として文字列の時間のデルタを返します。
構文
この関数は任意の数値型を入力として受け入れますが、内部ではそれらをFloat64にキャストします。大きな値の場合、結果は最適でない場合があります。
引数
column
— 数値の時間のデルタを含むカラム。maximum_unit
— オプション。表示する最大単位。- 許可される値:
nanoseconds
,microseconds
,milliseconds
,seconds
,minutes
,hours
,days
,months
,years
. - デフォルト値:
years
.
- 許可される値:
minimum_unit
— オプション。表示する最小単位。すべての小さい単位は切り捨てられます。- 許可される値:
nanoseconds
,microseconds
,milliseconds
,seconds
,minutes
,hours
,days
,months
,years
. - 明示的に指定された値が
maximum_unit
より大きい場合、例外が発生します。 - デフォルト値:
seconds
がmaximum_unit
がseconds
以上の場合、nanoseconds
それ以外。
- 許可される値:
例
parseReadableSize
与えられた文字列はバイトサイズを含み、B
, KiB
, KB
, MiB
, MB
などの単位(すなわち、ISO/IEC 80000-13 または十進バイト単位)を持つ場合、この関数は対応するバイト数を返します。
この関数が入力値を解析できない場合、例外が発生します。
この関数の逆操作は formatReadableSize および formatReadableDecimalSize です。
構文
引数
x
: ISO/IEC 80000-13または十進バイト単位での可読サイズ (String)。
戻り値
- バイト数、整数に切り上げられた値 (UInt64)。
例
parseReadableSizeOrNull
与えられた文字列はバイトサイズを含み、B
, KiB
, KB
, MiB
, MB
などの単位(すなわち、ISO/IEC 80000-13 または十進バイト単位)を持つ場合、この関数は対応するバイト数を返します。
この関数が入力値を解析できない場合、NULL
を返します。
この関数の逆操作は formatReadableSize および formatReadableDecimalSize です。
構文
引数
x
: ISO/IEC 80000-13または十進バイト単位での可読サイズ (String)。
戻り値
- バイト数、整数に切り上げられた値、または入力を解析できなかった場合はNULL(Nullable(UInt64))。
例
parseReadableSizeOrZero
与えられた文字列はバイトサイズを含み、B
, KiB
, KB
, MiB
, MB
などの単位(すなわち、ISO/IEC 80000-13 または十進バイト単位)を持つ場合、この関数は対応するバイト数を返します。もしこの関数が入力値を解析できない場合、0
を返します。
この関数の逆操作は formatReadableSize および formatReadableDecimalSize です。
構文
引数
x
: ISO/IEC 80000-13または十進バイト単位での可読サイズ (String)。
戻り値
- バイト数、整数に切り上げられた値、または入力を解析できなかった場合は0 (UInt64)。
例
parseTimeDelta
数値の配列を解析し、時間単位に似たものの後に続くものを解析します。
構文
引数
timestr
— 数値のシーケンスと、時間単位に似たものの配列。
返される値
- 秒数の浮動小数点数。
例
least
1つ以上の入力引数の中で最小の引数を返します。NULL
引数は無視されます。
構文
バージョン 24.12 では互換性のない変更が導入され、NULL
値が無視されるようになりました。以前は、引数の1つが NULL
の場合は NULL
を返していました。以前の動作を保持するには、設定 least_greatest_legacy_null_behavior
(デフォルト: false
)を true
に設定します。
greatest
1つ以上の入力引数の中で最大の引数を返します。NULL
引数は無視されます。
構文
バージョン 24.12 では互換性のない変更が導入され、NULL
値が無視されるようになりました。以前は、引数の1つが NULL
の場合は NULL
を返していました。以前の動作を保持するには、設定 least_greatest_legacy_null_behavior
(デフォルト: false
)を true
に設定します。
uptime
サーバの稼働時間を秒単位で返します。 分散テーブルのコンテキストで実行される場合、この関数は各シャードに関連する値を持つ通常のカラムを生成します。それ以外の場合は定数値を生成します。
構文
返される値
- 秒の時間値。 UInt32。
例
クエリ:
結果:
version
現在の ClickHouse のバージョンを文字列形式で返します。
- メジャーバージョン
- マイナーバージョン
- パッチバージョン
- 前回の安定リリースからのコミット数。
分散テーブルのコンテキストで実行される場合、この関数は各シャードに関連する値を持つ通常のカラムを生成します。それ以外の場合は定数値を生成します。
構文
引数
なし。
返される値
- 現在の ClickHouse のバージョン。 String。
実装詳細
なし。
例
クエリ:
結果:
buildId
実行中の ClickHouse サーバーのバイナリに対してコンパイラによって生成されたビルドIDを返します。 分散テーブルのコンテキストで実行される場合、この関数は各シャードに関連する値を持つ通常のカラムを生成します。それ以外の場合は定数値を生成します。
構文
blockNumber
行を含む ブロック の単調増加シーケンス番号を返します。 返されるブロック番号は最善を尽くして更新されるため、完全に正確でない場合があります。
構文
返される値
- 行が存在するデータブロックのシーケンス番号。 UInt64。
例
クエリ:
結果:
rowNumberInBlock
rowNumberInBlock
が処理する各 ブロック の現在の行の番号を返します。
返される番号は、各ブロックで0から始まります。
構文
返される値
- データブロック内の行の序数番号、0から始まります。 UInt64。
例
クエリ:
結果:
rowNumberInAllBlocks
rowNumberInAllBlocks
によって処理される各行に対して、一意の行番号を返します。返される番号は0から始まります。
構文
返される値
- データブロック内の行の序数番号、0から始まります。 UInt64。
例
クエリ:
結果:
normalizeQuery
リテラル、リテラルのシーケンスおよび複雑なエイリアス(空白を含む、2桁以上または36バイト以上の長さのもの、UUIDなど)をプレースホルダー ?
に置き換えます。
構文
引数
x
— 文字のシーケンス。 String。
返される値
- プレースホルダーを含む文字のシーケンス。 String。
例
クエリ:
結果:
normalizeQueryKeepNames
リテラルおよびリテラルのシーケンスをプレースホルダー ?
に置き換えますが、複雑なエイリアス(空白を含む、2桁以上または36バイト以上の長さのものを含む)を置き換えません。これにより、複雑なクエリログをよりよく分析できます。
構文
引数
x
— 文字のシーケンス。 String。
返される値
- プレースホルダーを含む文字のシーケンス。 String。
例
クエリ:
結果:
normalizedQueryHash
類似のクエリに対してリテラルの値を除外した同一の64ビットハッシュ値を返します。クエリログを分析するのに役立ちます。
構文
引数
x
— 文字のシーケンス。 String。
返される値
- ハッシュ値。 UInt64。
例
クエリ:
結果:
normalizedQueryHashKeepNames
normalizedQueryHash と同様の機能ですが、リテラルの値を除外した同一の64ビットハッシュ値を返しますが、ハッシュ前に複雑なエイリアス(空白を含む、2桁以上または36バイト以上の長さのものなど)をプレースホルダーに置き換えません。クエリログを分析するのに役立ちます。
構文
引数
x
— 文字のシーケンス。 String。
返される値
- ハッシュ値。 UInt64。
例
結果:
neighbor
指定されたオフセットの前または後の行にアクセスするウィンドウ関数です。
構文
この関数の結果は、影響を受けるデータブロックおよびブロック内のデータの順序に依存します。
現在処理しているデータブロックの内部でのみ隣接を返します。 このエラーが起こりやすい動作のため、この関数は非推奨です。適切なウィンドウ関数を使用してください。
neighbor()
の計算中の行の順序は、ユーザーに返される行の順序とは異なる場合があります。
それを防ぐために、ORDER BY を使用してサブクエリを作成し、サブクエリの外部から関数を呼び出すことができます。
引数
column
— カラム名またはスカラー式。offset
—column
における現在の行の前または後ろを見ている行数。 Int64。default_value
— オプション。オフセットがブロック境界を超えた場合の返される値。影響を受けるデータブロックのデータ型です。
返される値
- 現在の行から
offset
の距離にあるcolumn
の値(offset
がブロック境界の外でない場合)。 column
のデフォルト値またはdefault_value
(指定されている場合)(オフセットがブロック境界の外にある場合)。
返される型は、影響を受けるデータブロックのものであるか、デフォルト値の型です。
例
クエリ:
結果:
クエリ:
結果:
この関数は、前年対前年の指標値を計算するために使用できます。
クエリ:
結果:
runningDifference
データブロック内の2つの連続した行の値の差を計算します。 最初の行については0を返し、以降の行については前の行との違いを返します。
現在処理しているデータブロック内のみで差異が返されます。 このエラーが起こりやすい動作のため、この関数は非推奨です。適切なウィンドウ関数を使用してください。
この関数の結果は、影響を受けるデータブロックおよびブロック内のデータの順序に依存します。
runningDifference()
の計算中の行の順序は、ユーザーに返される行の順序とは異なる場合があります。
それを防ぐために、ORDER BY を使用してサブクエリを作成し、サブクエリの外部から関数を呼び出すことができます。
構文
例
クエリ:
結果:
ブロックサイズが結果に影響することに注意してください。 runningDifference
の内部状態は新しいブロックごとにリセットされます。
クエリ:
結果:
クエリ:
結果:
runningDifferenceStartingWithFirstValue
この関数は非推奨です (runningDifference
の注記を参照)。
生の runningDifference
と同様ですが、最初の行の値を最初の行の値として返します。
runningConcurrency
同時発生イベントの数を計算します。 各イベントには開始時刻と終了時刻があります。開始時刻はイベントに含まれ、終了時刻は含まれません。開始時刻と終了時刻を持つカラムは同じデータ型でなければなりません。 この関数は、各イベントの開始時刻でのアクティブな(同時に発生している)イベントの総数を計算します。
イベントは開始時刻で昇順に並べられている必要があります。この要件が違反された場合、関数は例外を発生させます。各データブロックは別個に処理されます。異なるデータブロックのイベントが重なる場合、正しく処理することはできません。
構文
引数
start
— イベントの開始時刻を持つカラム。 Date、 DateTime、または DateTime64。end
— イベントの終了時刻を持つカラム。 Date、 DateTime、または DateTime64。
返される値
- 各イベントの開始時刻での同時発生イベントの数。 UInt32
例
テーブルを考慮してください:
クエリ:
結果:
MACNumToString
UInt64 数をビッグエンディアン形式の MAC アドレスとして解釈します。対応する MAC アドレスを AA:BB:CC:DD:EE:FF(コロン区切りの16進数形式の数字)として文字列で返します。
構文
MACStringToNum
MACNumToString の逆関数。MAC アドレスが無効な形式の場合、0 を返します。
構文
MACStringToOUI
AA:BB:CC:DD:EE:FF(コロン区切りの16進数形式の数字)である MAC アドレスから最初の3つのオクテットを UInt64 数として返します。MAC アドレスが無効な形式の場合、0 を返します。
構文
getSizeOfEnumType
Enum のフィールド数を返します。
タイプが Enum
でない場合は例外がスローされます。
構文
引数:
value
—Enum
型の値。
返される値
Enum
入力値を持つフィールドの数。
例
blockSerializedSize
圧縮を考慮せずにディスク上のサイズを返します。
引数
value
— すべての値。
返される値
- 圧縮なしで値のブロックを書き込むためにディスクに書き込まれるバイト数。
例
クエリ:
結果:
toColumnTypeName
値を表すデータ型の内部名を返します。
構文
引数:
value
— すべての型の値。
返される値
value
を表現するために使用される内部データ型名。
例
toTypeName
と toColumnTypeName
の違いを示します。
結果:
クエリ:
結果:
この例は、DateTime
データ型が内部的に Const(UInt32)
として保存されることを示しています。
dumpColumnStructure
RAM内のデータ構造の詳細な説明を出力します。
引数:
value
— すべての型の値。
返される値
value
を表すために使用されるカラム構造の説明。
例
defaultValueOfArgumentType
指定されたデータ型のデフォルト値を返します。
ユーザーが設定したカスタムカラムによるデフォルト値は含まれません。
構文
引数:
expression
— 任意の型の値または任意の型の値を生成する式。
返される値
- 数値の場合は
0
。 - 文字列の場合は空の文字列。
- Nullable の場合は
ᴺᵁᴸᴸ
。
例
クエリ:
結果:
クエリ:
結果:
defaultValueOfTypeName
指定された型名のデフォルト値を返します。
ユーザーが設定したカスタムカラムによるデフォルト値は含まれません。
引数:
type
— 型名を表す文字列。
返される値
- 数値の場合は
0
。 - 文字列の場合は空の文字列。
- Nullable の場合は
ᴺᵁᴸᴸ
。
例
クエリ:
結果:
クエリ:
結果:
indexHint
この関数はデバッグと内部視察用に意図されています。引数を無視し、常に1を返します。引数は評価されません。
ただし、インデックス分析中に、この関数をラップされていない引数は選択されます。この状態によりインデックスレンジを条件によって選択し、さらにその条件によってフィルタリングされないように思います。ClickHouse のインデックスはスパースであり、indexHint
を使用すると、同じ条件を直接指定するよりも多くのデータが得られます。
構文
返される値
1
. Uint8。
例
以下は、テーブル ontime からのテストデータの例です。
テーブル:
テーブルは (FlightDate, (Year, FlightDate))
のフィールドにインデックスがあります。
インデックスを使用していないクエリを作成します:
ClickHouse は全テーブルを処理しました (Processed 4.28 million rows
)。
結果:
特定の日付を選択しインデックスを適用します:
ClickHouse は同様に少ない行数を処理します(Processed 32.74 thousand rows
)。
結果:
今度は、式 k = '2017-09-15'
を関数 indexHint
にラップします:
クエリ:
ClickHouse は再度インデックスを使用し、前回と同様に(Processed 32.74 thousand rows
)です。
式 k = '2017-09-15'
は結果を生成する際には使用されません。
この例の中で、indexHint
関数は隣接する日付が表示できるようにします。
結果:
replicate
単一の値を持つ配列を作成します。
この関数は、arrayJoin の内部実装に使用されます。
構文
引数
x
— 結果の配列に埋め込む値。arr
— 配列。 Array。
返される値
arr
と同じ長さの配列を作成し、値 x
で埋めます。 Array。
例
クエリ:
結果:
revision
現在の ClickHouse サーバーのリビジョンを返します。
構文
返される値
- 現在の ClickHouse サーバーのリビジョン。 UInt32。
例
クエリ:
結果:
filesystemAvailable
データベースの永続性をホストしているファイルシステムの空きスペースの量を返します。返された値は、総空きスペース (filesystemUnreserved) より常に小さくなります。これは、いくつかのスペースがオペレーティングシステムのために予約されているためです。
構文
返される値
- バイト単位の残りの空きスペースの量。 UInt64。
例
クエリ:
結果:
filesystemUnreserved
データベースの永続性をホストしているファイルシステムの総空きスペースの量を返します。(以前の filesystemFree
)。 filesystemAvailable も参照してください。
構文
返される値
- バイト単位の空きスペースの量。 UInt64。
例
クエリ:
結果:
filesystemCapacity
ファイルシステムの容量をバイト単位で返します。データディレクトリへの path が設定されている必要があります。
構文
返される値
- バイト単位のファイルシステムの容量。 UInt64。
例
クエリ:
結果:
initializeAggregation
単一の値に基づいて集約関数の結果を計算します。この関数は、-State を用いて集約関数を初期化するために使用できます。集約関数の状態を作成し、AggregateFunction タイプのカラムに挿入するか、初期化された集約をデフォルト値として使用できます。
構文
引数
aggregate_function
— 初期化する集約関数の名前。 String。arg
— 集約関数の引数。
返される値
- 関数に渡された各行の集約結果。
返される型は、initializeAggregation
が最初の引数として受け取る型と同じです。
例
クエリ:
結果:
クエリ:
結果:
AggregatingMergeTree
テーブルエンジンと AggregateFunction
カラムの例:
参照
引数
state
— 集約の状態。AggregateFunction。
返される値
- 集約された値。
返される型は、集約された任意の型と同じです。
例
クエリ:
結果:
クエリ:
結果:
NULL
値は無視されます。
クエリ:
結果:
結合例:
クエリ:
結果:
関連項目
runningAccumulate
データブロックの各行に対して集約関数の状態を累計します。
状態は各新しいデータブロックごとにリセットされます。 このエラーを引き起こす可能性のある動作のため、この関数は非推奨です。代わりに適切なウィンドウ関数を使用してください。
構文
引数
agg_state
— 集約関数の状態。AggregateFunction。grouping
— グルーピングキー。オプショナル。grouping
値が変更された場合、関数の状態がリセットされます。等号演算子が定義されている任意の サポートされるデータ型を指定できます。
返される値
- 各結果行には、現在の位置までのすべての入力行に対して累積された集約関数の結果が含まれます。
runningAccumulate
は、各新しいデータブロックごとに状態をリセットします、またはgrouping
の値が変更されたとき。
型は使用される集約関数によって異なります。
例
runningAccumulate
を使用して、グルーピングなしおよびグルーピングありで数値の累積合計を求める方法を考えます。
クエリ:
結果:
サブクエリは、0
から9
までのそれぞれの数値に対してsumState
を生成します。 sumState
は、単一の数値の合計を含むsum関数の状態を返します。
クエリ全体は以下のことを実行します:
- 最初の行では、
runningAccumulate
はsumState(0)
を取得し、0
を返します。 - 2番目の行では、関数は
sumState(0)
とsumState(1)
をマージし、sumState(0 + 1)
を生成し、合計として1
を返します。 - 3番目の行では、関数は
sumState(0 + 1)
とsumState(2)
をマージし、sumState(0 + 1 + 2)
を生成し、結果として3
を返します。 - この動作はブロックが終了するまで繰り返されます。
以下の例は、groupping
パラメータの使用法を示しています:
クエリ:
結果:
このように、runningAccumulate
は各行のグループの状態を別々にマージします。
joinGet
この関数は、辞書と同様にテーブルからデータを抽出できるようにします。Join テーブルから指定された結合キーを使用してデータを取得します。
ENGINE = Join(ANY, LEFT, <join_keys>)
文で作成されたテーブルのみをサポートします。
構文
引数
join_storage_table_name
— 検索が行われる場所を示す 識別子。value_column
— 必要なデータを含むテーブルのカラムの名前。join_keys
— キーのリスト。
識別子はデフォルトデータベース内で検索されます(設定ファイル内の default_database
を参照)。デフォルトデータベースを上書きするには、USE db_name
を使用するか、例のようにセパレーター db_name.db_table
を介してデータベースとテーブルを指定します。
返される値
- キーのリストに対応する値のリストを返します。
特定のキーがソーステーブルに存在しない場合、テーブル作成時の join_use_nulls 設定に基づいて 0
または null
が返されます。
join_use_nulls
に関する詳細は Join operationを参照してください。
例
入力テーブル:
クエリ:
結果:
join_use_nulls
設定は、テーブル作成時にソーステーブルにキーが存在しない場合の返される動作を変更するために使用できます。
クエリ:
結果:
joinGetOrNull
joinGet のように動作しますが、キーが欠落している場合はデフォルト値の代わりに NULL
を返します。
構文
引数
join_storage_table_name
— 検索が行われる場所を示す 識別子。value_column
— 必要なデータを含むテーブルのカラムの名前。join_keys
— キーのリスト。
識別子はデフォルトデータベース内で検索されます(設定ファイル内の default_database
を参照)。デフォルトデータベースを上書きするには、USE db_name
を使用するか、例のようにセパレーター db_name.db_table
を介してデータベースとテーブルを指定します。
返される値
- キーのリストに対応する値のリストを返します。
特定のキーがソーステーブルに存在しない場合、そのキーに対して NULL
が返されます。
例
入力テーブル:
クエリ:
結果:
catboostEvaluate
この関数は ClickHouse Cloud では利用できません。
外部の catboost モデルを評価します。CatBoost は、Yandex が開発した機械学習用のオープンソースの勾配ブースティングライブラリです。 catboost モデルへのパスとモデル引数(特徴)を受け取ります。Float64 を返します。
構文
例
前提条件
- catboost 評価ライブラリをビルドする
catboost モデルを評価する前に、libcatboostmodel.<so|dylib>
ライブラリを利用できるようにする必要があります。コンパイル方法については、CatBoost documentationを参照してください。
次に、clickhouse 設定内で libcatboostmodel.<so|dylib>
へのパスを指定します。
セキュリティと分離の理由で、モデル評価はサーバープロセスではなく、clickhouse-library-bridge プロセスで実行されます。
catboostEvaluate()
の最初の実行時、サーバーはライブラリブリッジプロセスを開始します。このプロセスは、すでに実行中でない限りです。両方のプロセスは HTTP インターフェイスを介して通信します。デフォルトでは、ポート 9012
が使用されます。別のポートを指定することも可能で、ポート 9012
が別のサービスに既に割り当てられている場合に便利です。
- libcatboost を使用して catboost モデルをトレーニングする
トレーニングデータセットから catboost モデルをトレーニングする方法は、Training and applying modelsを参照してください。
throwIf
引数 x
が true の場合、例外をスローします。
構文
引数
x
- チェックする条件。message
- カスタムエラーメッセージを提供する定数文字列。オプショナル。error_code
- カスタムエラーメッセージを提供する定数整数。オプショナル。
error_code
引数を使用するには、設定パラメータ allow_custom_error_code_in_throwif
を有効にする必要があります。
例
結果:
identity
引数をそのまま返します。デバッグとテストを意図しています。インデックスを使用するのをキャンセルし、フルスキャンのクエリパフォーマンスを取得します。クエリがインデックスの使用を検討されるとき、アナライザーはidentity
関数内のすべてを無視します。また、定数の折り畳みを無効にします。
構文
例
クエリ:
結果:
getSetting
現在の カスタム設定 の値を返します。
構文
パラメータ
custom_setting
— 設定名。String。
返される値
- 設定の現在の値。
例
結果:
関連項目
getSettingOrDefault
現在の カスタム設定 の値を返すか、カスタム設定が現在のプロファイルに設定されていない場合は、2 番目の引数で指定されているデフォルト値を返します。
構文
パラメータ
custom_setting
— 設定名。String。default_value
— custom_setting が設定されていない場合に返す値。値は任意のデータ型または Null である可能性があります。
返される値
- 設定の現在の値または、設定が設定されていない場合は default_value。
例
結果:
関連項目
isDecimalOverflow
Decimal 値がその精度を超えているか、指定された精度を超えているかをチェックします。
構文
引数
d
— 値。Decimal。p
— 精度。オプション。省略すると、最初の引数の初期精度が使用されます。このパラメータは、他のデータベースやファイル間でデータを移行する際に役立つことがあります。UInt8。
返される値
1
— Decimal 値がその精度によって許可されるより多くの桁を持っている場合、0
— Decimal 値が指定された精度を満たしている場合。
例
クエリ:
結果:
countDigits
値を表すのに必要な小数桁数を返します。
構文
引数
返される値
- 桁数。UInt8。
Decimal
値の場合、スケールを考慮します: 結果は基になる整数型 (value * scale)
に対して計算されます。例えば: countDigits(42) = 2
, countDigits(42.000) = 5
, countDigits(0.04200) = 4
。つまり、 countDecimal(x) > 18
で Decimal64
に対する小数オーバーフローをチェックできます。これは、isDecimalOverflow の遅いバリアントです。
例
クエリ:
結果:
errorCodeToName
- エラーコードのテキスト名。LowCardinality(String)。
構文
結果:
tcpPort
このサーバーがリッスンしている ネイティブインターフェイス の TCP ポート番号を返します。 分散テーブルのコンテキストで実行されると、この関数は各シャードに関連する正常なカラムを生成します。それ以外の場合は定数値が生成されます。
構文
引数
- なし。
返される値
- TCP ポート番号。UInt16。
例
クエリ:
結果:
関連項目
currentProfiles
現在のユーザーの現在の 設定プロファイル のリストを返します。
コマンド SET PROFILE を使用して、現在の設定プロファイルを変更できます。SET PROFILE
コマンドが使用されていない場合、この関数は現在のユーザーの定義で指定されたプロファイルを返します(CREATE USER を参照)。
構文
返される値
enabledProfiles
現在のユーザーに明示的および暗黙的に割り当てられている設定プロファイルを返します。明示的に割り当てられたプロファイルは、currentProfiles 関数によって返されるものと同じです。暗黙的に割り当てられたプロファイルには、他の割り当てられたプロファイルの親プロファイル、付与されたロールを介して割り当てられたプロファイル、自身の設定を介して割り当てられたプロファイル、および主要なデフォルトプロファイルが含まれます(主要なサーバー設定ファイル内の default_profile
セクションを参照)。
構文
返される値
defaultProfiles
現在のユーザーの定義で指定されたすべてのプロファイルを返します(CREATE USER 文を参照)。
構文
返される値
currentRoles
現在のユーザーに割り当てられたロールを返します。ロールは SET ROLE 文によって変更できます。SET ROLE
文が使用されていない場合、関数 currentRoles
は defaultRoles
と同じものを返します。
構文
返される値
enabledRoles
現在のロールおよび現在のロールに付与されたロールの名前を返します。
構文
返される値
defaultRoles
ユーザーがログインしたときにデフォルトで有効になるロールを返します。最初は、現在のユーザーに付与されたすべてのロールです(GRANTを参照)が、それは SET DEFAULT ROLE 文によって変更される可能性があります。
構文
返される値
getServerPort
サーバーポート番号を返します。ポートがサーバーによって使用されていない場合、例外をスローします。
構文
引数
-
port_name
— サーバーポートの名前。String。可能な値:- 'tcp_port'
- 'tcp_port_secure'
- 'http_port'
- 'https_port'
- 'interserver_http_port'
- 'interserver_https_port'
- 'mysql_port'
- 'postgresql_port'
- 'grpc_port'
- 'prometheus.port'
返される値
- サーバーポートの番号。UInt16。
例
クエリ:
結果:
queryID
現在のクエリの ID を返します。クエリの他のパラメータは、system.query_log テーブルから query_id
を介して抽出できます。
initialQueryID 関数とは対照的に、queryID
は異なるシャードで異なる結果を返すことがあります(例を参照)。
構文
返される値
- 現在のクエリの ID。String
例
クエリ:
結果:
initialQueryID
初期の現在のクエリの ID を返します。クエリの他のパラメータは、system.query_log テーブルから initial_query_id
を介して抽出できます。
queryID 関数とは対照的に、initialQueryID
は異なるシャードで同じ結果を返します(例を参照)。
構文
返される値
- 初期の現在のクエリの ID。String
例
クエリ:
結果:
initialQueryStartTime
初期の現在のクエリの開始時間を返します。
initialQueryStartTime
は異なるシャードで同じ結果を返します(例を参照)。
構文
返される値
- 初期の現在のクエリの開始時間。DateTime
例
クエリ:
結果:
partitionID
パーティション ID を計算します。
この関数は遅く、大量の行には呼び出さないでください。
構文
引数
x
— パーティション ID を返す対象のカラム。y, ...
— パーティション ID を返す残りの N カラム(オプション)。
返される値
- 行が属するパーティション ID。String。
例
クエリ:
結果:
shardNum
分散クエリ内でデータの一部を処理するシャードのインデックスを返します。インデックスは 1
から始まります。
クエリが分散していない場合、定数値 0
が返されます。
構文
返される値
- シャードインデックスまたは定数
0
。UInt32。
例
以下の例では、2 つのシャードを持つ構成が使用されています。クエリは、すべてのシャードで system.one テーブルに対して実行されます。
クエリ:
結果:
関連項目
shardCount
分散クエリのためのシャードの総数を返します。
クエリが分散していない場合、定数値 0
が返されます。
構文
返される値
- シャードの総数または
0
。UInt32。
関連項目
- shardNum() 関数の例にも
shardCount()
関数呼び出しが含まれています。
getOSKernelVersion
現在の OS カーネルバージョンを含む文字列を返します。
構文
引数
- なし。
返される値
- 現在の OS カーネルバージョン。String。
例
クエリ:
結果:
zookeeperSessionUptime
現在の ZooKeeper セッションの稼働時間を秒単位で返します。
構文
引数
- なし。
返される値
- 現在の ZooKeeper セッションの稼働時間(秒)。UInt32。
例
クエリ:
結果:
generateRandomStructure
ランダムなテーブル構造を column1_name column1_type, column2_name column2_type, ...
形式で生成します。
構文
引数
number_of_columns
— 結果テーブル構造におけるカラムの数。0またはNull
に設定すると、カラムの数は1から128の間でランダムに決定されます。デフォルト値:Null
。seed
- 安定した結果を生成するためのランダムシード。シードが指定されていないかNull
に設定されている場合、ランダムに生成されます。
すべての引数は定数でなければなりません。
返される値
- ランダムに生成されたテーブル構造。String。
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
注: 複雑な型(Array, Tuple, Map, Nested)の最大ネスト深度は16に制限されています。
この関数は、generateRandom と組み合わせて使用することで、完全にランダムなテーブルを生成するために使用できます。
structureToCapnProtoSchema
ClickHouseのテーブル構造をCapnProtoスキーマに変換します。
構文
引数
structure
—column1_name column1_type, column2_name column2_type, ...
形式のテーブル構造。root_struct_name
— CapnProtoスキーマのルート構造体の名前。デフォルト値 -Message
。
返される値
- CapnProtoスキーマ。String。
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
structureToProtobufSchema
ClickHouseのテーブル構造をProtobufスキーマに変換します。
構文
引数
structure
—column1_name column1_type, column2_name column2_type, ...
形式のテーブル構造。root_message_name
— Protobufスキーマのルートメッセージの名前。デフォルト値 -Message
。
返される値
- Protobufスキーマ。String。
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
formatQuery
指定されたSQLクエリのフォーマット済みのバージョンを返します。これは、複数行になる可能性があります。
クエリが正しくない場合は例外がスローされます。その代わりにNULL
を返すには、関数formatQueryOrNull()
を使用できます。
構文
引数
query
- フォーマットするSQLクエリ。String
返される値
- フォーマットされたクエリ。String。
例
結果:
formatQuerySingleLine
formatQuery()に似ていますが、返されるフォーマット済みの文字列には改行が含まれていません。
クエリが正しくない場合は例外がスローされます。その代わりにNULL
を返すには、関数formatQuerySingleLineOrNull()
を使用できます。
構文
引数
query
- フォーマットするSQLクエリ。String
返される値
- フォーマットされたクエリ。String。
例
結果:
variantElement
Variant
カラムから指定された型のカラムを抽出します。
構文
引数
variant
— Variantカラム。Variant。type_name
— 抽出するバリアント型の名前。String。default_value
- 指定された型のバリアントが存在しない場合に使用されるデフォルト値。任意の型を指定できます。オプション。
返される値
- 指定された型の
Variant
カラムのサブカラム。
例
variantType
Variant
カラムの各行に対してバリアント型名を返します。行がNULLの場合は'None'
を返します。
構文
引数
variant
— Variantカラム。Variant。
返される値
- 各行のバリアント型名を持つEnum8カラム。
例
minSampleSizeConversion
2つのサンプルにおけるコンバージョン(比率)を比較するA/Bテストのための最小限のサンプルサイズを計算します。
構文
この記事で説明されている数式を使用します。治療群と対照群のサイズが等しいと仮定します。グループの1回あたり必要なサンプルサイズを返します(つまり、実験全体に必要なサンプルサイズは返された値の2倍です)。
引数
baseline
— 基準コンバージョン。Float。mde
— 最小検出効果(MDE)をパーセンテージポイントとして指定します(例:基準コンバージョン0.25の場合、MDE0.03は0.25 ± 0.03への変化を意味します)。Float。power
— テストの必要な統計的パワー(1 - 第II種エラーの確率)。Float。alpha
— テストの必要な有意水準(第I種エラーの確率)。Float。
返される値
3つの要素を持つ名前付きTuple:
"minimum_sample_size"
— 必要なサンプルサイズ。Float64。"detect_range_lower"
— 指定された必要なサンプルサイズでは検出不可能な範囲の下限(つまり"detect_range_lower"
以下のすべての値は指定されたalpha
およびpower
で検出可能です)。baseline - mde
として計算されます。Float64。"detect_range_upper"
— 指定された必要なサンプルサイズでは検出不可能な範囲の上限(つまり"detect_range_upper"
以上のすべての値は指定されたalpha
およびpower
で検出可能です)。baseline + mde
として計算されます。Float64。
例
次のクエリは、基準コンバージョン25%、MDE3%、有意水準5%、望ましい統計的パワー80%を持つA/Bテストのための必要なサンプルサイズを計算します。
結果:
minSampleSizeContinuous
2つのサンプルで連続した指標の平均を比較するためのA/Bテストに必要な最小サンプルサイズを計算します。
構文
別名: minSampleSizeContinous
この記事で説明されている数式を使用します。治療群と対照群のサイズが等しいと仮定します。グループの1回あたり必要なサンプルサイズを返します(つまり、実験全体に必要なサンプルサイズは返された値の2倍です)。また、治療群と対照群でテスト指標の分散が等しいと仮定します。
引数
baseline
— 指標の基準値。Integer または Float。sigma
— 指標の基準標準偏差。Integer または Float。mde
— 基準値のパーセンテージとしての最小検出効果(MDE)(例:基準値112.25の場合、MDE0.03は112.25 ± 112.25*0.03の変化を意味します)。Integer または Float。power
— テストの必要な統計的パワー(1 - 第II種エラーの確率)。Integer または Float。alpha
— テストの必要な有意水準(第I種エラーの確率)。Integer または Float。
返される値
3つの要素を持つ名前付きTuple:
"minimum_sample_size"
— 必要なサンプルサイズ。Float64。"detect_range_lower"
— 指定された必要なサンプルサイズでは検出不可能な範囲の下限(つまり"detect_range_lower"
以下のすべての値は指定されたalpha
およびpower
で検出可能です)。baseline * (1 - mde)
として計算されます。Float64。"detect_range_upper"
— 指定された必要なサンプルサイズでは検出不可能な範囲の上限(つまり"detect_range_upper"
以上のすべての値は指定されたalpha
およびpower
で検出可能です)。baseline * (1 + mde)
として計算されます。Float64。
例
次のクエリは、基準値112.25、標準偏差21.1、MDE3%、有意水準5%、望ましい統計的パワー80%を持つ指標のA/Bテストに必要なサンプルサイズを計算します。
結果:
connectionId
現在のクエリを提出したクライアントの接続IDを取得し、UInt64整数として返します。
構文
別名: connection_id
.
パラメータ
なし。
返される値
現在の接続ID。UInt64。
実装の詳細
この関数はデバッグシナリオやMySQLハンドラ内での内部目的で最も有用です。MySQLのCONNECTION_ID
関数との互換性のために作成されました。通常のプロダクションクエリでは一般的に使用されません。
例
クエリ:
getClientHTTPHeader
HTTPヘッダーの値を取得します。
そのようなヘッダーが存在しないか、現在のリクエストがHTTPインターフェース経由で実行されていない場合、この関数は空の文字列を返します。
特定のHTTPヘッダー(例:Authentication
やX-ClickHouse-*
)には制限があります。
この関数を使用するには、設定allow_get_client_http_header
を有効にする必要があります。
セキュリティ上の理由から、この設定はデフォルトでは有効になっていません。Cookie
など、一部のヘッダーには機密情報が含まれている可能性があるためです。
この関数では、HTTPヘッダーは大文字と小文字を区別します。
この関数が分散クエリのコンテキストで使用される場合、イニシエーターノードでのみ非空の結果が返されます。
showCertificate
現在のサーバーのSSL証明書に関する情報を表示します。SSL証明書が構成されている場合に限ります。接続を検証するためにOpenSSL証明書を使用するようにClickHouseを構成する方法については、SSL-TLSの設定を参照してください。
構文
返される値
例
クエリ:
結果:
lowCardinalityIndices
LowCardinalityカラムの辞書における値の位置を返します。位置は1から始まります。LowCardinalityはパーツごとの辞書を持っているため、この関数は異なるパーツで同じ値に対して異なる位置を返すことがあります。
構文
引数
col
— ローカーダリティカラム。LowCardinality。
返される値
- 現在のパーツの辞書における値の位置。UInt64。
例
クエリ:
結果:
lowCardinalityKeys
LowCardinalityカラムの辞書の値を返します。ブロックが辞書のサイズよりも小さいか大きい場合、結果は切り捨てられるか、デフォルト値で拡張されます。LowCardinalityはパーツごとの辞書を持っているため、この関数は異なるパーツで異なる辞書の値を返すことがあります。
構文
引数
col
— ローカーダリティカラム。LowCardinality。
返される値
- 辞書のキー。UInt64。
例
クエリ:
結果:
displayName
configからdisplay_name
の値を返します。設定されていない場合は、サーバーの完全修飾ドメイン名(FQDN)を返します。
構文
返される値
- 設定からの
display_name
の値、設定されていない場合はサーバーのFQDN。String。
例
config.xml
でdisplay_name
を設定できます。たとえば、display_name
が'production'に設定されているサーバーの例を取り上げます:
クエリ:
結果:
transactionID
transactionのIDを返します。
この関数は実験的機能セットの一部です。設定ファイルにこの設定を追加して実験的なトランザクションサポートを有効にします:
詳細については、トランザクションサポート(ACID)のページを参照してください。
構文
返される値
-
start_csn
、local_tid
、およびhost_id
からなるタプルを返します。Tuple。 -
start_csn
: グローバルの連続番号で、このトランザクションが開始したときに見た最も新しいコミットタイムスタンプ。UInt64。 -
local_tid
: 特定のstart_csn
内でこのホストによって開始された各トランザクションに対して一意のローカル連続番号。UInt64。 -
host_id
: このトランザクションを開始したホストのUUID。UUID。
例
クエリ:
結果:
transactionLatestSnapshot
読み取り可能なtransactionの最新スナップショット(コミットシーケンス番号)を返します。
この関数は実験的機能セットの一部です。設定ファイルにこの設定を追加して実験的なトランザクションサポートを有効にします:
詳細については、トランザクションサポート(ACID)のページを参照してください。
構文
返される値
- トランザクションの最新スナップショット(CSN)を返します。UInt64
例
クエリ:
結果:
transactionOldestSnapshot
実行中のtransactionに対して可視状態の最古のスナップショット(コミットシーケンス番号)を返します。
この関数は実験的機能セットの一部です。設定ファイルにこの設定を追加して実験的なトランザクションサポートを有効にします:
詳細については、トランザクションサポート(ACID)のページを参照してください。
構文
返される値
- トランザクションの最古のスナップショット(CSN)を返します。UInt64
例
クエリ:
結果:
getSubcolumn
テーブル式または識別子とサブカラムの名前を持つ定数文字列を受け取り、要求されたサブカラムを抽出して返します。
構文
引数
col_name
— テーブル式または識別子。Expression, Identifier。subcol_name
— サブカラムの名前。String。
返される値
- 抽出されたサブカラムを返します。
例
クエリ:
結果:
getTypeSerializationStreams
データ型のシリアルストリームのパスを列挙します。
この関数は開発者向けに設計されています。
構文
引数
col
— データ型を検出するためのカラムまたはデータ型の文字列表現。
返される値
例
クエリ:
結果:
クエリ:
結果:
globalVariable
定数文字列引数を受け取り、その名前のグローバル変数の値を返します。この関数はMySQLとの互換性のために設計されており、通常のClickHouseの操作には必要ないか、役に立ちません。定義されているダミーのグローバル変数はほんの数個です。
構文
引数
name
— グローバル変数名。String。
返される値
- 変数
name
の値を返します。
例
クエリ:
結果:
getMaxTableNameLengthForDatabase
指定されたデータベースにおける最長テーブル名を返します。
構文
引数
database_name
— 指定されたデータベースの名前。String。
返される値
- 最長テーブル名の長さを返します。
例
クエリ:
結果:
getServerSetting
サーバー設定の現在の値を返します。
構文
パラメータ
server_setting
— 設定名。String。
返される値
- サーバー設定の現在の値。
例
結果:
getMergeTreeSetting
マージツリー設定の現在の値を返します。
構文
パラメータ
merge_tree_setting
— 設定名。String。
返される値
- マージツリー設定の現在の値。
例
結果: