クイックスタート
このガイドの例では、デフォルトのCSV出力フォーマットで
query() を実行します。インラインコメントには論理的な結果の値を示します。生データ出力では NULL は \N として出力され、文字列および日付の値にはCSVの引用符付けが適用されます (例: "Hello, world!") 。登録方法
@func デコレータ
__name__ が SQL 関数名として使用されます。
create_function
drop_function
すでに登録されている名前を登録しようとするとエラーになります。UDFは自動的に置き換えられません。たとえばノートブックのセルを再実行する場合など、関数を再登録するには、まず
drop_function(name)を呼び出してください。型システム
利用可能な型
chdb.sqltypes からインポートできます。
型の指定
自動型推論
arg_types または return_type を省略すると、chDB は Python の型アノテーションから型を推論します。
arg_types を明示的に指定する場合は、すべてのパラメータを指定する必要があります。一部を明示的に指定し、残りを推論させることはサポートされていません。これは create_function と @func デコレータの両方に適用されます。すべてのパラメータに型を指定するか、型指定をすべて省略して chDB にアノテーションから推論させてください。return_type を省略し、関数に戻り値のアノテーションもない場合、登録に失敗します。一方、引数の型は任意です。明示的な型指定もアノテーションもないパラメータは、サポートされている任意の入力型を動的に受け入れます。
NULL の処理
on_null パラメータは、入力引数のいずれかが NULL の場合の動作を制御します。
enum も使用できます:
chdb.NullHandling.SKIP / chdb.NullHandling.PASS。
例: default (スキップ)
例: NULL を None として渡す
例: 複数の引数
例外処理
on_error パラメータは、Python 関数で例外が発生した場合の動作を制御します。
enum も使用できます:
chdb.ExceptionHandling.PROPAGATE / chdb.ExceptionHandling.IGNORE。
例: default (伝播)
例: エラーを無視する
NULL と例外処理の組み合わせ
on_null オプションと on_error オプションは組み合わせて使用できます。
DateTime と タイムゾーン のサポート
Date 型
タイムゾーン付きDateTime
DateTime64 (高精度)
DATETIME64 のデフォルトのスケールは6 (マイクロ秒) です。
- 入力の
DateTime/DateTime64値には ClickHouse のタイムゾーン情報が含まれます - 出力される
datetimeオブジェクトにはタイムゾーン情報が保持されます - タイムゾーン変換は自動的に行われます