型変換関数
データ変換に関する一般的な問題
ClickHouse は一般的に C++ プログラムと同じ動作を使用します。
to<type>
関数と cast は、いくつかのケースで異なる動作をします。たとえば、LowCardinality の場合:cast は LowCardinality 特性を削除しますが、to<type>
関数は削除しません。Nullable でも同様で、この動作は SQL 標準と互換性がなく、cast_keep_nullable 設定を使用して変更できます。
データ型の値がより小さいデータ型に変換される場合(たとえば Int64
から Int32
へ)や、互換性のないデータ型間(たとえば String
から Int
へ)で変換されると、データ損失の可能性があることに注意してください。結果が期待通りであるかを慎重に確認してください。
例:
toString
関数に関する注意事項
toString
ファミリーの関数は、数値、文字列(固定文字列を除く)、日時と日付の間の変換を可能にします。これらのすべての関数は1つの引数を受け入れます。
- 文字列への変換や文字列からの変換の場合、値は TabSeparated 形式(およびほぼすべての他のテキスト形式)の同じルールを使用してフォーマットまたは解析されます。文字列が解析できない場合、例外がスローされ、リクエストはキャンセルされます。
- 日付を数値に変換する場合、またはその逆の場合、日付は Unix エポックの開始以来の日数に対応します。
- 時間を含む日付を数値に変換する場合、またはその逆の場合、時間を含む日付は Unix エポックの開始以来の秒数に対応します。
DateTime
引数のtoString
関数は、タイムゾーンの名前を含む2番目の String 引数を受け取ることができます。たとえば、Europe/Amsterdam
のような形式です。この場合、時間は指定されたタイムゾーンに基づいてフォーマットされます。
toDate
/ toDateTime
関数に関する注意事項
toDate
/ toDateTime
関数のための日付と時間を含まない日付のフォーマットは次のように定義されています。
特例として、UInt32、Int32、UInt64、または Int64 数値型から日付に変換する場合、数値が 65536 以上の場合、数値は Unix タイムスタンプとして解釈(および日数としてではなく)され、日付に丸められます。これにより、toDate(unix_timestamp)
と書く一般的なケースをサポートできます。そうしないとエラーとなり、より面倒な toDate(toDateTime(unix_timestamp))
と書かなければなりません。
日付と時間を含む日付間の変換は自然な方法で行われます:時間を null に追加するか、時間を削除するかです。
数値型間の変換は、C++ における異なる数値型間の代入と同じルールを使用します。
例
クエリ:
結果:
また、toUnixTimestamp
関数も参照してください。
toBool
入力値を Bool
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または文字列を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値。
- Float32/64 型の値。
- 大文字と小文字を区別しない文字列
true
またはfalse
。
返される値
- 引数の評価に基づいて
true
またはfalse
を返します。Bool。
例
クエリ:
結果:
toInt8
入力値を Int8
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または数値の文字列表現を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、例えば
SELECT toInt8('0xc0fe');
。
入力値が Int8 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。たとえば: SELECT toInt8(128) == -128;
。
返される値
- 8 ビット整数値。Int8。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt8OrZero
toInt8
のように、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合は 0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(0
を返す):
- 通常の Float32/64 の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt8OrZero('0xc0fe');
。
入力値が Int8 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 8 ビット整数値、それ以外の場合は
0
。Int8。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt8OrNull
toInt8
のように、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合は NULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、例えば
SELECT toInt8OrNull('0xc0fe');
。
入力値が Int8 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt8OrDefault
toInt8
のように、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されていない場合、エラーが発生した場合は 0
が返されます。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 の値または文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt8OrDefault('0xc0fe', CAST('-1', 'Int8'));
。
入力値が Int8 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 8 ビット整数値、それ以外の場合は渡されたデフォルト値、ない場合は
0
を返します。Int8。
- この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
- デフォルト値の型はキャスト型と同じである必要があります。
例
クエリ:
結果:
参照
toInt16
入力値を Int16
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または数値の文字列表現を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt16('0xc0fe');
。
入力値が Int16 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。たとえば: SELECT toInt16(32768) == -32768;
。
返される値
- 16 ビット整数値。Int16。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt16OrZero
toInt16
のように、この関数は入力値を Int16 型の値に変換しますが、エラーが発生した場合は 0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt16OrZero('0xc0fe');
。
入力値が Int16 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 16 ビット整数値、それ以外の場合は
0
。Int16。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt16OrNull
toInt16
のように、この関数は入力値を Int16 型の値に変換しますが、エラーが発生した場合は NULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt16OrNull('0xc0fe');
。
入力値が Int16 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt16OrDefault
toInt16
のように、この関数は入力値を Int16 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されていない場合、エラーが発生した場合は 0
が返されます。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 の値または文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt16OrDefault('0xc0fe', CAST('-1', 'Int16'));
。
入力値が Int16 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 16 ビット整数値、それ以外の場合は渡されたデフォルト値、ない場合は
0
を返します。Int16。
- この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
- デフォルト値の型はキャスト型と同じである必要があります。
例
クエリ:
結果:
参照
toInt32
入力値を Int32
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または数値の文字列表現を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt32('0xc0fe');
。
入力値が Int32 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。これはエラーとは見なされません。たとえば: SELECT toInt32(2147483648) == -2147483648;
。
返される値
- 32 ビット整数値。Int32。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt32OrZero
toInt32
のように、この関数は入力値を Int32 型の値に変換しますが、エラーが発生した場合は 0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt32OrZero('0xc0fe');
。
入力値が Int32 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 32 ビット整数値、それ以外の場合は
0
。Int32。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt32OrNull
toInt32
のように、この関数は入力値を Int32 型の値に変換しますが、エラーが発生した場合は NULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt32OrNull('0xc0fe');
。
入力値が Int32 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt32OrDefault
toInt32
のように、この関数は入力値を Int32 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されていない場合、エラーが発生した場合は 0
が返されます。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 の値または文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt32OrDefault('0xc0fe', CAST('-1', 'Int32'));
。
入力値が Int32 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 32 ビット整数値、それ以外の場合は渡されたデフォルト値、ない場合は
0
を返します。Int32。
- この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
- デフォルト値の型はキャスト型と同じである必要があります。
例
クエリ:
結果:
参照
toInt64
入力値を Int64
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または数値の文字列表現を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列表現。
- Float32/64 型の値。
サポートされていない型:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt64('0xc0fe');
。
入力値が Int64 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。これはエラーとは見なされません。たとえば: SELECT toInt64(9223372036854775808) == -9223372036854775808;
。
返される値
- 64 ビット整数値。Int64。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt64OrZero
toInt64
のように、この関数は入力値を Int64 型の値に変換しますが、エラーが発生した場合は 0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt64OrZero('0xc0fe');
。
入力値が Int64 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 64 ビット整数値、それ以外の場合は
0
。Int64。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt64OrNull
toInt64
のように、この関数は入力値を Int64 型の値に変換しますが、エラーが発生した場合は NULL
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt64OrNull('0xc0fe');
。
入力値が Int64 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt64OrDefault
toInt64
のように、この関数は入力値を Int64 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されていない場合、エラーが発生した場合は 0
が返されます。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 の値または文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt64OrDefault('0xc0fe', CAST('-1', 'Int64'));
。
入力値が Int64 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 64 ビット整数値、それ以外の場合は渡されたデフォルト値、ない場合は
0
を返します。Int64。
- この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
- デフォルト値の型はキャスト型と同じである必要があります。
例
クエリ:
結果:
参照
toInt128
入力値を Int128
型の値に変換します。エラーが発生した場合は例外がスローされます。
構文
引数
expr
— 数字または数値の文字列表現を返す式。式。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt128('0xc0fe');
。
入力値が Int128 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。これはエラーとは見なされません。
返される値
- 128 ビット整数値。Int128。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt128OrZero
toInt128
のように、この関数は入力値を Int128 型の値に変換しますが、エラーが発生した場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt128OrZero('0xc0fe');
。
入力値が Int128 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
- 成功した場合は 128 ビット整数値、それ以外の場合は
0
。Int128。
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt128OrNull
toInt128
のように、この関数は入力値を Int128 型の値に変換しますが、エラーが発生した場合は NULL
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/128/256 の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 型の値の文字列表現(
NaN
やInf
を含む)。 - バイナリおよび16進数値の文字列表現、e.g.
SELECT toInt128OrNull('0xc0fe');
。
入力値が Int128 の範囲内で表現できない場合、オーバーフローまたはアンダーフローが発生します。これはエラーとは見なされません。
返される値
この関数は ゼロに向けての丸め を使用しており、数の小数点以下の桁を切り捨てます。
例
クエリ:
結果:
参照
toInt128OrDefault
toInt128
と同様に、この関数は入力値を Int128 型の値に変換しますが、エラーが発生した場合にはデフォルト値を返します。
default
値が渡されなかった場合、エラーの際には 0
が返されます。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression / String。default
(オプション) —Int128
型へのパースが失敗した場合に返すデフォルト値です。 Int128。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値。
- Float32/64 型の値。
- (U)Int8/16/32/128/256 型の文字列表現。
デフォルト値が返される引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toInt128OrDefault('0xc0fe', CAST('-1', 'Int128'));
。
入力値が Int128 の範囲内で表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は128ビット整数値、失敗した場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。 Int128。
- この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャストされる型と同じである必要があります。
例
クエリ:
結果:
参照
toInt256
入力値を Int256
型の値に変換します。エラーが発生した場合には例外をスローします。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値またはその文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toInt256('0xc0fe');
。
入力値が Int256 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 256ビット整数値。 Int256。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toInt256OrZero
toInt256
と同様に、この関数は入力値を Int256 型の値に変換しますが、エラーが発生した場合には 0
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toInt256OrZero('0xc0fe');
。
入力値が Int256 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は256ビット整数値、失敗した場合は
0
を返します。 Int256。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toInt256OrNull
toInt256
と同様に、この関数は入力値を Int256 型の値に変換しますが、エラーが発生した場合には NULL
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toInt256OrNull('0xc0fe');
。
入力値が Int256 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toInt256OrDefault
toInt256
と同様に、この関数は入力値を Int256 型の値に変換しますが、エラーが発生した場合にはデフォルト値を返します。
default
値が渡されなかった場合、エラーの際には 0
が返されます。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression / String。default
(オプション) —Int256
型へのパースが失敗した場合に返すデフォルト値です。 Int256。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値またはその文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toInt256OrDefault('0xc0fe', CAST('-1', 'Int256'));
。
入力値が Int256 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は256ビット整数値、失敗した場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。 Int256。
- この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャストされる型と同じである必要があります。
例
クエリ:
結果:
参照
toUInt8
入力値を UInt8
型の値に変換します。エラーが発生した場合には例外をスローします。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値またはその文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt8('0xc0fe');
。
入力値が UInt8 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例えば: SELECT toUInt8(256) == 0;
返される値
- 8ビット符号なし整数値。 UInt8。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt8OrZero
toUInt8
と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラーが発生した場合には 0
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt8OrZero('0xc0fe');
。
入力値が UInt8 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は8ビット符号なし整数値、失敗した場合は
0
を返します。 UInt8。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt8OrNull
toUInt8
と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラーが発生した場合には NULL
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt8OrNull('0xc0fe');
。
入力値が UInt8 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt8OrDefault
toUInt8
と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラー発生時にはデフォルト値を返します。
default
値が渡されなかった場合、エラーの際には 0
が返されます。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression / String。default
(オプション) —UInt8
型へのパースが失敗した場合に返すデフォルト値です。 UInt8。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt8OrDefault('0xc0fe', CAST('0', 'UInt8'));
。
入力値が UInt8 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は8ビット符号なし整数値、失敗した場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。 UInt8。
- この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャストされる型と同じである必要があります。
例
クエリ:
結果:
参照
toUInt16
入力値を UInt16
型の値に変換します。エラーが発生した場合には例外をスローします。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt16('0xc0fe');
。
入力値が UInt16 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例えば: SELECT toUInt16(65536) == 0;
返される値
- 16ビット符号なし整数値。 UInt16。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt16OrZero
toUInt16
と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラーが発生した場合には 0
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt16OrZero('0xc0fe');
。
入力値が UInt16 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は16ビット符号なし整数値、失敗した場合は
0
を返します。 UInt16。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt16OrNull
toUInt16
と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラーが発生した場合には NULL
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt16OrNull('0xc0fe');
。
入力値が UInt16 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt16OrDefault
toUInt16
と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラー発生時にはデフォルト値を返します。
default
値が渡されなかった場合、エラーの際には 0
が返されます。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression / String。default
(オプション) —UInt16
型へのパースが失敗した場合に返すデフォルト値です。 UInt16。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt16OrDefault('0xc0fe', CAST('0', 'UInt16'));
。
入力値が UInt16 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は16ビット符号なし整数値、失敗した場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。 UInt16。
- この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャストされる型と同じである必要があります。
例
クエリ:
結果:
参照
toUInt32
入力値を UInt32
型の値に変換します。エラーが発生した場合には例外をスローします。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt32('0xc0fe');
。
入力値が UInt32 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例えば: SELECT toUInt32(4294967296) == 0;
返される値
- 32ビット符号なし整数値。 UInt32。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt32OrZero
toUInt32
と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラーが発生した場合には 0
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt32OrZero('0xc0fe');
。
入力値が UInt32 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は32ビット符号なし整数値、失敗した場合は
0
を返します。 UInt32
この関数は ゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt32OrNull
toUInt32
と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラーが発生した場合には NULL
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt32OrNull('0xc0fe');
。
入力値が UInt32 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
この関数は ゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt32OrDefault
toUInt32
と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラー発生時にはデフォルト値を返します。
default
値が渡されなかった場合、エラーの際には 0
が返されます。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression / String。default
(オプション) —UInt32
型へのパースが失敗した場合に返すデフォルト値です。 UInt32。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
デフォルト値が返される引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt32OrDefault('0xc0fe', CAST('0', 'UInt32'));
。
入力値が UInt32 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は32ビット符号なし整数値、失敗した場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。 UInt32。
- この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャストされる型と同じである必要があります。
例
クエリ:
結果:
参照
toUInt64
入力値を UInt64
型の値に変換します。エラーが発生した場合には例外をスローします。
構文
引数
expr
— 数字または数字の文字列表現を返す式です。 Expression。
サポートされる引数:
- (U)Int8/16/32/64/128/256 型の値やその文字列表現。
- Float32/64 型の値。
サポートされていない引数:
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt64('0xc0fe');
。
入力値が UInt64 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例えば: SELECT toUInt64(18446744073709551616) == 0;
返される値
- 64ビット符号なし整数値。 UInt64。
この関数は ゼロに向かう丸め を使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt64OrZero
toUInt64
と同様に、この関数は入力値を UInt64 型の値に変換しますが、エラーが発生した場合には 0
を返します。
構文
引数
x
— 数字の文字列表現です。 String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(0
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt64OrZero('0xc0fe');
。
入力値が UInt64 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
- 成功した場合は64ビット符号なし整数値、失敗した場合は
0
を返します。 UInt64。
この関数は ゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt64OrNull
toUInt64
と同様に、この関数は入力値を UInt64 型の値に変換しますが、エラーが発生した場合には NULL
を返します。
構文
引数
x
— 数字の文字列表現です。 Expression / String。
サポートされる引数:
- (U)Int8/16/32/128/256 型の文字列表現。
サポートされていない引数(\N
を返す):
- Float32/64 値の文字列表現、
NaN
やInf
を含む。 - バイナリおよび16進値の文字列表現、例:
SELECT toUInt64OrNull('0xc0fe');
。
入力値が UInt64 の範囲内で表現できない場合、結果がオーバーフローまたはアンダーフローします。 これはエラーとは見なされません。
返される値
この関数は ゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt64OrDefault
toUInt64
と同様に、この関数は入力値を型UInt64の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されない場合は、エラー時に0
が返されます。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。defauult
(オプション) — 型UInt64
への解析が失敗した場合に返されるデフォルト値。UInt64。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値または文字列表現。
- Float32/64型の値。
デフォルト値が返される引数:
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt64OrDefault('0xc0fe', CAST('0', 'UInt64'));
。
入力値がUInt64の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は64ビットの符号なし整数値、そうでない場合は渡されたデフォルト値、または渡されていない場合は
0
を返します。UInt64。
- 関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャスト型と同じでなければなりません。
例
クエリ:
結果:
参照
toUInt128
入力値を型UInt128
の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値または文字列表現。
- Float32/64型の値。
サポートされていない引数:
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt128('0xc0fe');
。
入力値がUInt128の範囲内に表現できない場合、結果はオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 128ビットの符号なし整数値。UInt128。
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt128OrZero
toUInt128
と同様に、この関数は入力値を型UInt128の値に変換しますが、エラーが発生した場合は0
を返します。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。
サポートされている引数:
- (U)Int8/16/32/128/256の文字列表現。
サポートされていない引数(0
を返します):
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt128OrZero('0xc0fe');
。
入力値がUInt128の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は128ビットの符号なし整数値、そうでない場合は
0
。UInt128。
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt128OrNull
toUInt128
と同様に、この関数は入力値を型UInt128の値に変換しますが、エラーが発生した場合はNULL
を返します。
構文
引数
x
— 数字の文字列表現。Expression / String。
サポートされている引数:
- (U)Int8/16/32/128/256の文字列表現。
サポートされていない引数(\N
を返します)
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt128OrNull('0xc0fe');
。
入力値がUInt128の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt128OrDefault
toUInt128
と同様に、この関数は入力値を型UInt128の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されない場合は、エラー時に0
が返されます。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。default
(オプション) — 型UInt128
への解析が失敗した場合に返されるデフォルト値。UInt128。
サポートされている引数:
- (U)Int8/16/32/64/128/256。
- Float32/64。
- (U)Int8/16/32/128/256の文字列表現。
デフォルト値が返される引数:
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt128OrDefault('0xc0fe', CAST('0', 'UInt128'));
入力値がUInt128の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は128ビットの符号なし整数値、そうでない場合は渡されたデフォルト値、渡されていない場合は
0
を返します。UInt128。
- 関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャスト型と同じでなければなりません。
例
クエリ:
結果:
参照
toUInt256
入力値を型UInt256
の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値または文字列表現。
- Float32/64型の値。
サポートされていない引数:
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt256('0xc0fe');
。
入力値がUInt256の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 256ビットの符号なし整数値。Int256。
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt256OrZero
toUInt256
と同様に、この関数は入力値を型UInt256の値に変換しますが、エラーが発生した場合は0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256の文字列表現。
サポートされていない引数(0
を返す):
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt256OrZero('0xc0fe');
。
入力値がUInt256の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は256ビットの符号なし整数値、そうでない場合は
0
。UInt256。
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt256OrNull
toUInt256
と同様に、この関数は入力値を型UInt256の値に変換しますが、エラーが発生した場合はNULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256の文字列表現。
サポートされていない引数(\N
を返します)
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt256OrNull('0xc0fe');
。
入力値がUInt256の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
例
クエリ:
結果:
参照
toUInt256OrDefault
toUInt256
と同様に、この関数は入力値を型UInt256の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されない場合は、エラー時に0
が返されます。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。default
(オプション) — 型UInt256
への解析が失敗した場合に返されるデフォルト値。UInt256。
サポートされている引数:
- (U)Int8/16/32/64/128/256。
- Float32/64。
- (U)Int8/16/32/128/256の文字列表現。
デフォルト値が返される引数:
NaN
やInf
を含むFloat32/64値の文字列表現。- バイナリおよび16進数の値の文字列表現。例:
SELECT toUInt256OrDefault('0xc0fe', CAST('0', 'UInt256'));
入力値がUInt256の範囲内に表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。 これはエラーとは見なされません。
返される値
- 成功した場合は256ビットの符号なし整数値、そうでない場合は渡されたデフォルト値、渡されていない場合は
0
を返します。UInt256。
- 関数はゼロに向かう丸めを使用しており、数値の小数桁を切り捨てます。
- デフォルト値の型はキャスト型と同じでなければなりません。
例
クエリ:
結果:
参照
toFloat32
入力値を型Float32
の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値。
- (U)Int8/16/32/128/256の文字列表現。
- Float32/64型の値、
NaN
およびInf
を含む。 - Float32/64の文字列表現、
NaN
およびInf
を含む(大文字と小文字を区別しない)。
サポートされていない引数:
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat32('0xc0fe');
。
返される値
- 32ビットの浮動小数点値。Float32。
例
クエリ:
結果:
参照
toFloat32OrZero
toFloat32
と同様に、この関数は入力値を型Float32の値に変換しますが、エラーが発生した場合は0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256、Float32/64の文字列表現。
サポートされていない引数(0
を返します):
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat32OrZero('0xc0fe');
。
返される値
- 成功した場合は32ビットのFloat値、そうでない場合は
0
。Float32。
例
クエリ:
結果:
参照
toFloat32OrNull
toFloat32
と同様に、この関数は入力値を型Float32の値に変換しますが、エラーが発生した場合はNULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256、Float32/64の文字列表現。
サポートされていない引数(\N
を返します):
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat32OrNull('0xc0fe');
。
返される値
- 成功した場合は32ビットのFloat値、そうでない場合は
\N
。Float32。
例
クエリ:
結果:
参照
toFloat32OrDefault
toFloat32
と同様に、この関数は入力値を型Float32の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されない場合は、エラー時に0
が返されます。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。default
(オプション) — 型Float32
への解析が失敗した場合に返されるデフォルト値。Float32。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値。
- (U)Int8/16/32/128/256の文字列表現。
- Float32/64型の値、
NaN
およびInf
を含む。 - Float32/64の文字列表現、
NaN
およびInf
を含む(大文字と小文字を区別しない)。
デフォルト値が返される引数:
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat32OrDefault('0xc0fe', CAST('0', 'Float32'));
。
返される値
- 成功した場合は32ビットのFloat値、そうでない場合は渡されたデフォルト値、渡されていない場合は
0
を返します。Float32。
例
クエリ:
結果:
参照
toFloat64
入力値を型Float64
の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値。
- (U)Int8/16/32/128/256の文字列表現。
- Float32/64型の値、
NaN
およびInf
を含む。 - Float32/64の文字列表現、
NaN
およびInf
を含む(大文字と小文字を区別しない)。
サポートされていない引数:
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat64('0xc0fe');
。
返される値
- 64ビットの浮動小数点値。Float64。
例
クエリ:
結果:
参照
toFloat64OrZero
toFloat64
と同様に、この関数は入力値を型Float64の値に変換しますが、エラーが発生した場合は0
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256、Float32/64の文字列表現。
サポートされていない引数(0
を返します):
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat64OrZero('0xc0fe');
。
返される値
- 成功した場合は64ビットのFloat値、そうでない場合は
0
。Float64。
例
クエリ:
結果:
参照
toFloat64OrNull
toFloat64
と同様に、この関数は入力値を型Float64の値に変換しますが、エラーが発生した場合はNULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- (U)Int8/16/32/128/256、Float32/64の文字列表現。
サポートされていない引数(\N
を返します):
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat64OrNull('0xc0fe');
。
返される値
- 成功した場合は64ビットのFloat値、そうでない場合は
\N
。Float64。
例
クエリ:
結果:
参照
toFloat64OrDefault
toFloat64
と同様に、この関数は入力値を型Float64の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default
値が渡されない場合は、エラー時に0
が返されます。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression / String。default
(オプション) — 型Float64
への解析が失敗した場合に返されるデフォルト値。Float64。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値。
- (U)Int8/16/32/128/256の文字列表現。
- Float32/64型の値、
NaN
およびInf
を含む。 - Float32/64の文字列表現、
NaN
およびInf
を含む(大文字と小文字を区別しない)。
デフォルト値が返される引数:
- バイナリおよび16進数の値の文字列表現。例:
SELECT toFloat64OrDefault('0xc0fe', CAST('0', 'Float64'));
。
返される値
- 成功した場合は64ビットのFloat値、そうでない場合は渡されたデフォルト値、渡されていない場合は
0
を返します。Float64。
例
クエリ:
結果:
参照
toBFloat16
入力値を型BFloat16
の値に変換します。
エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す式または数字の文字列表現。Expression。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の値。
- (U)Int8/16/32/128/256の文字列表現。
- Float32/64型の値、
NaN
およびInf
を含む。 - Float32/64の文字列表現、
NaN
およびInf
を含む(大文字と小文字を区別しない)。
返される値
- 16ビットのブレインフロート値。BFloat16。
例
参照
toBFloat16OrZero
文字列入力値を型BFloat16
の値に変換します。
文字列が浮動小数点値を表さない場合、関数はゼロを返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- 数値の文字列表現。
サポートされていない引数(0
を返します):
- バイナリおよび16進数の値の文字列表現。
- 数値。
返される値
- 16ビットのブレインフロート値、そうでない場合は
0
。BFloat16。
この関数は、文字列表現から変換する際の精度の損失を許可します。
例
参照
toBFloat16OrNull
文字列入力値を型BFloat16
の値に変換しますが、文字列が浮動小数点値を表さない場合、関数はNULL
を返します。
構文
引数
x
— 数字の文字列表現。String。
サポートされている引数:
- 数値の文字列表現。
サポートされていない引数(NULL
を返します):
- バイナリおよび16進数の値の文字列表現。
- 数値。
返される値
- 16ビットのブレインフロート値、そうでない場合は
NULL
(\N
)。BFloat16。
この関数は、文字列表現から変換する際の精度の損失を許可します。
例
参照
toDate
引数をDateデータ型に変換します。
引数がDateTimeまたはDateTime64の場合、切り捨てられ、DateTimeの日時部分が残ります:
引数がStringの場合、DateまたはDateTimeとして解析されます。DateTimeとして解析された場合、日付部分が使用されます:
引数が数値で、UNIXタイムスタンプのように見える(65535より大きい)場合、DateTimeとして解釈され、次に現在のタイムゾーンでDateに切り捨てられます。タイムゾーンの引数は、関数の2番目の引数として指定できます。Dateへの切り捨てはタイムゾーンによって異なります:
上記の例は、同じUNIXタイムスタンプが異なるタイムゾーンで異なる日付として解釈される様子を示しています。
引数が数値で、65536より小さい場合、1970-01-01(最初のUNIX日)からの日数として解釈され、Dateに変換されます。これはDate
データ型の内部数値表現に対応します。例:
この変換はタイムゾーンには依存しません。
引数がDate型に収まらない場合は、実装依存の動作となり、最大サポート日付まで飽和するか、オーバーフローが発生します:
関数toDate
は別の形式でも記述できます:
toDateOrZero
Dateに渡された無効な引数を受け取った場合、toDateと同じですが、Dateの下限が返されます。サポートされる引数はStringのみに限られます。
例
クエリ:
結果:
toDateOrNull
無効な引数を受け取った場合、toDateと同じですが、NULL
が返されます。サポートされる引数はStringのみに限られます。
例
クエリ:
結果:
toDateOrDefault
Dateに渡された無効な引数を受け取った場合、toDateと同様ですが、失敗した場合はデフォルト値(指定されている場合は第2引数、そうでない場合はDateの下限)が返されます。
構文
例
クエリ:
結果:
toDateTime
入力値をDateTimeに変換します。
構文
引数
返される値
- 日付時刻。DateTime
例
クエリ:
結果:
toDateTimeOrZero
無効な引数を受け取った場合、toDateTimeと同じですが、DateTimeの下限が返されます。サポートされる引数はStringのみに限られます。
例
クエリ:
結果:
toDateTimeOrNull
無効な引数を受け取った場合、toDateTimeと同じですが、NULL
が返されます。サポートされる引数はStringのみに限られます。
例
クエリ:
結果:
toDateTimeOrDefault
DateTimeに渡された無効な引数を受け取った場合、toDateTimeと同様ですが、失敗した場合はデフォルト値(指定されている場合は第3引数、そうでない場合はDateTimeの下限)が返されます。
構文
例
クエリ:
結果:
toDate32
引数をDate32データ型に変換します。値が範囲外の場合、toDate32
はDate32によってサポートされている境界値を返します。引数がDate型の場合は、その境界も考慮されます。
構文
引数
返される値
- カレンダー日付。型Date32。
例
- 値が範囲内の場合:
- 値が範囲外の場合:
- Date引数の場合:
toDate32OrZero
Date32に渡された無効な引数を受け取った場合、toDate32と同様ですが、Date32の最小値が返されます。
例
クエリ:
結果:
toDate32OrNull
無効な引数を受け取った場合、toDate32と同様ですが、NULL
が返されます。
例
クエリ:
結果:
toDate32OrDefault
引数を Date32 データ型に変換します。値が範囲外の場合、toDate32OrDefault
は Date32 でサポートされている下限値を返します。引数が Date 型である場合、その境界が考慮されます。無効な引数が受け取られた場合、デフォルト値を返します。
例
クエリ:
結果:
toDateTime64
入力値を DateTime64 型の値に変換します。
構文
引数
expr
— 値。 String、UInt32、Float または DateTime。scale
- タイムサイズ (精度): 10-precision 秒。 有効な範囲: [ 0 : 9 ]。timezone
(オプション) - 指定された datetime64 オブジェクトのタイムゾーン。
返される値
- カレンダーの日付と時間、サブ秒精度付き。 DateTime64。
例
- 値が範囲内:
- 精度付きの小数として:
小数点なしの値は、Unix タイムスタンプ(秒)として扱われます:
timezone
の使用:
toDateTime64OrZero
toDateTime64 と同様に、この関数は入力値を DateTime64 型の値に変換しますが、無効な引数が受け取られた場合は DateTime64 の最小値を返します。
構文
引数
expr
— 値。 String、UInt32、Float または DateTime。scale
- タイムサイズ (精度): 10-precision 秒。 有効な範囲: [ 0 : 9 ]。timezone
(オプション) - 指定された DateTime64 オブジェクトのタイムゾーン。
返される値
- カレンダーの日付と時間、サブ秒精度付き。無効な場合は
DateTime64
の最小値:1970-01-01 01:00:00.000
。 DateTime64。
例
クエリ:
結果:
参照
toDateTime64OrNull
toDateTime64 と同様に、この関数は入力値を DateTime64 型の値に変換しますが、無効な引数が受け取られた場合は NULL
を返します。
構文
引数
expr
— 値。 String、UInt32、Float または DateTime。scale
- タイムサイズ (精度): 10-precision 秒。 有効な範囲: [ 0 : 9 ]。timezone
(オプション) - 指定された DateTime64 オブジェクトのタイムゾーン。
返される値
- カレンダーの日付と時間、サブ秒精度付き。無効な場合は
NULL
。 DateTime64/NULL。
例
クエリ:
結果:
参照
toDateTime64OrDefault
toDateTime64 と同様に、この関数は入力値を DateTime64 型の値に変換しますが、無効な引数が受け取られた場合は DateTime64 のデフォルト値または指定されたデフォルト値を返します。
構文
引数
expr
— 値。 String、UInt32、Float または DateTime。scale
- タイムサイズ (精度): 10-precision 秒。 有効な範囲: [ 0 : 9 ]。timezone
(オプション) - 指定された DateTime64 オブジェクトのタイムゾーン。default
(オプション) - 無効な引数が受け取られた場合に返すデフォルト値。 DateTime64。
返される値
- カレンダーの日付と時間、サブ秒精度付き。無効な場合は
DateTime64
の最小値または指定されたdefault
値。 DateTime64。
例
クエリ:
結果:
参照
toDecimal32
入力値を Decimal(9, S)
型の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す表現または数字の文字列表現。 Expression。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から9の間)。 UInt8。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列。
- Float32/64 型の値または文字列。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現(大文字小文字を区別しない)。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal32('0xc0fe', 1);
)。
expr
の値が Decimal32
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(9 - S), 1 * 10^(9 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁は例外を引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal32(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal32('1.15', 2) = 1.15
返される値
Decimal(9, S)
型の値。 Decimal32(S)。
例
クエリ:
結果:
参照
toDecimal32OrZero
toDecimal32
と同様に、この関数は入力値を Decimal(9, S) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal32OrZero('0xc0fe', 1);
)。
expr
の値が Decimal32
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(9 - S), 1 * 10^(9 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Decimal(9, S)
型の値。失敗した場合は0
(S 桁の小数付き)。 Decimal32(S)。
例
クエリ:
結果:
参照
toDecimal32OrNull
toDecimal32
と同様に、この関数は入力値を Nullable(Decimal(9, S)) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal32OrNull('0xc0fe', 1);
)。
expr
の値が Decimal32
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(9 - S), 1 * 10^(9 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Nullable(Decimal(9, S))
型の値。失敗した場合は同じ型のNULL
値。 Decimal32(S)。
例
クエリ:
結果:
参照
toDecimal32OrDefault
toDecimal32
と同様に、この関数は入力値を Decimal(9, S) 型の値に変換しますが、エラーの場合はデフォルト値を返します。
構文
引数
expr
— 数字の文字列表現。 String。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から9の間)。 UInt8。default
(オプション) —Decimal32(S)
型への解析が失敗した場合に返すデフォルト値。 Decimal32(S)。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal32OrDefault('0xc0fe', 1);
)。
expr
の値が Decimal32
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(9 - S), 1 * 10^(9 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal32OrDefault(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal32OrDefault('1.15', 2) = 1.15
返される値
- 成功した場合は
Decimal(9, S)
型の値。失敗した場合は指定されたデフォルト値または0
を返します。 Decimal32(S)。
例
クエリ:
結果:
参照
toDecimal64
入力値を Decimal(18, S)
型の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す表現または数字の文字列表現。 Expression。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から18の間)。 UInt8。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列。
- Float32/64 型の値または文字列。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現(大文字小文字を区別しない)。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal64('0xc0fe', 1);
)。
expr
の値が Decimal64
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(18 - S), 1 * 10^(18 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁は例外を引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal64(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal64('1.15', 2) = 1.15
返される値
Decimal(18, S)
型の値。 Decimal64(S)。
例
クエリ:
結果:
参照
toDecimal64OrZero
toDecimal64
と同様に、この関数は入力値を Decimal(18, S) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal64OrZero('0xc0fe', 1);
)。
expr
の値が Decimal64
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(18 - S), 1 * 10^(18 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Decimal(18, S)
型の値。失敗した場合は0
(S 桁の小数付き)。 Decimal64(S)。
例
クエリ:
結果:
参照
toDecimal64OrNull
toDecimal64
と同様に、この関数は入力値を Nullable(Decimal(18, S)) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal64OrNull('0xc0fe', 1);
)。
expr
の値が Decimal64
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(18 - S), 1 * 10^(18 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Nullable(Decimal(18, S))
型の値。失敗した場合は同じ型のNULL
値。 Decimal64(S)。
例
クエリ:
結果:
参照
toDecimal64OrDefault
toDecimal64
と同様に、この関数は入力値を Decimal(18, S) 型の値に変換しますが、エラーの場合はデフォルト値を返します。
構文
引数
expr
— 数字の文字列表現。 String。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から18の間)。 UInt8。default
(オプション) —Decimal64(S)
型への解析が失敗した場合に返すデフォルト値。 Decimal64(S)。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal64OrDefault('0xc0fe', 1);
)。
expr
の値が Decimal64
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(18 - S), 1 * 10^(18 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal64OrDefault(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal64OrDefault('1.15', 2) = 1.15
返される値
- 成功した場合は
Decimal(18, S)
型の値。失敗した場合は指定されたデフォルト値または0
を返します。 Decimal64(S)。
例
クエリ:
結果:
参照
toDecimal128
入力値を Decimal(38, S)
型の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す表現または数字の文字列表現。 Expression。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から38の間)。 UInt8。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列。
- Float32/64 型の値または文字列。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現(大文字小文字を区別しない)。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal128('0xc0fe', 1);
)。
expr
の値が Decimal128
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(38 - S), 1 * 10^(38 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁は例外を引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal128(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal128('1.15', 2) = 1.15
返される値
Decimal(38, S)
型の値。 Decimal128(S)。
例
クエリ:
結果:
参照
toDecimal128OrZero
toDecimal128
と同様に、この関数は入力値を Decimal(38, S) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal128OrZero('0xc0fe', 1);
)。
expr
の値が Decimal128
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(38 - S), 1 * 10^(38 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Decimal(38, S)
型の値。失敗した場合は0
(S 桁の小数付き)。 Decimal128(S)。
例
クエリ:
結果:
参照
toDecimal128OrNull
toDecimal128
と同様に、この関数は入力値を Nullable(Decimal(38, S)) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal128OrNull('0xc0fe', 1);
)。
expr
の値が Decimal128
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(38 - S), 1 * 10^(38 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Nullable(Decimal(38, S))
型の値。失敗した場合は同じ型のNULL
値。 Decimal128(S)。
例
クエリ:
結果:
参照
toDecimal128OrDefault
toDecimal128
と同様に、この関数は入力値を Decimal(38, S) 型の値に変換しますが、エラーの場合はデフォルト値を返します。
構文
引数
expr
— 数字の文字列表現。 String。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から38の間)。 UInt8。default
(オプション) —Decimal128(S)
型への解析が失敗した場合に返すデフォルト値。 Decimal128(S)。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal128OrDefault('0xc0fe', 1);
)。
expr
の値が Decimal128
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(38 - S), 1 * 10^(38 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal128OrDefault(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal128OrDefault('1.15', 2) = 1.15
返される値
- 成功した場合は
Decimal(38, S)
型の値。失敗した場合は指定されたデフォルト値または0
を返します。 Decimal128(S)。
例
クエリ:
結果:
参照
toDecimal256
入力値を Decimal(76, S)
型の値に変換します。エラーが発生した場合は例外をスローします。
構文
引数
expr
— 数字を返す表現または数字の文字列表現。 Expression。S
— 数字の小数部分が持つことのできる桁数を指定するスケールパラメータ(0から76の間)。 UInt8。
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の値または文字列。
- Float32/64 型の値または文字列。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現(大文字小文字を区別しない)。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal256('0xc0fe', 1);
)。
expr
の値が Decimal256
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(76 - S), 1 * 10^(76 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁は例外を引き起こします。
変換は、余分な桁をドロップし、Float32/Float64 入力を扱っているときに予想外の方法で動作する可能性があります。なぜなら、演算は浮動小数点命令を使用して行われるからです。
例えば: toDecimal256(1.15, 2)
は 1.14
と等しいです。なぜなら 1.15 * 100 の浮動小数点の結果は 114.99 だからです。
文字列入力を使用すると、演算は基になる整数型を使用します: toDecimal256('1.15', 2) = 1.15
返される値
Decimal(76, S)
型の値。 Decimal256(S)。
例
クエリ:
結果:
参照
toDecimal256OrZero
toDecimal256
と同様に、この関数は入力値を Decimal(76, S) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal256OrZero('0xc0fe', 1);
)。
expr
の値が Decimal256
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(76 - S), 1 * 10^(76 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Decimal(76, S)
型の値。失敗した場合は0
(S 桁の小数付き)。 Decimal256(S)。
例
クエリ:
結果:
参照
toDecimal256OrNull
toDecimal256
と同様に、この関数は入力値を Nullable(Decimal(76, S)) 型の値に変換しますが、エラーの場合は 0
を返します。
構文
引数
サポートされている引数:
- (U)Int8/16/32/64/128/256 型の文字列表現。
- Float32/64 型の文字列表現。
サポートされていない引数:
- Float32/64 値
NaN
およびInf
の文字列表現。 - バイナリおよび16進数値の文字列表現(例:
SELECT toDecimal256OrNull('0xc0fe', 1);
)。
expr
の値が Decimal256
の境界を超えるとオーバーフローが発生する可能性があります: ( -1 * 10^(76 - S), 1 * 10^(76 - S) )
。
小数部分で過剰な桁は廃棄されます(丸められません)。
整数部分の過剰な桁はエラーを引き起こします。
返される値
- 成功した場合は
Nullable(Decimal(76, S))
型の値。失敗した場合は同じ型のNULL
値。 Decimal256(S)。
例
クエリ:
結果:
参照
toDecimal256OrDefault
toDecimal256
と同様に、この関数は入力値をDecimal(76, S)型の値に変換しますが、エラーが発生した場合にはデフォルト値を返します。
構文
引数
expr
— 数字の文字列表現。 String。S
— 小数部の桁数を指定する0から76の間のスケールパラメータ。 UInt8。default
(任意) —Decimal256(S)
型への解析が失敗した場合に返されるデフォルト値。 Decimal256(S)。
サポートされている引数:
- (U)Int8/16/32/64/128/256型の文字列表現。
- Float32/64型の文字列表現。
サポートされていない引数:
- Float32/64の
NaN
およびInf
の文字列表現。 - バイナリおよび16進数の値の文字列表現、例:
SELECT toDecimal256OrDefault('0xc0fe', 1);
。
expr
の値がDecimal256
の範囲を超えるとオーバーフローが発生する可能性があります:( -1 * 10^(76 - S), 1 * 10^(76 - S) )
。
小数部における過剰な桁は破棄されます(四捨五入されません)。
整数部での過剰な桁はエラーを引き起こします。
変換は余分な桁を落とし、Float32/Float64の入力を扱う際に期待通りに動作しない可能性があります。操作は浮動小数点命令を使用して行われるためです。
例えば:toDecimal256OrDefault(1.15, 2)
は1.14
に等しいです。これは、浮動小数点での1.15 * 100が114.99だからです。
String型の入力を使用することで、操作が基盤の整数型を使うようにできます:toDecimal256OrDefault('1.15', 2) = 1.15
返される値
- 成功した場合は
Decimal(76, S)
型の値を返し、そうでない場合は渡されたデフォルト値を返すか、渡されなければ0
を返します。 Decimal256(S)。
例
クエリ:
結果:
関連項目
toString
値を文字列表現に変換します。 DateTime引数の場合、関数はタイムゾーンの名前を含む2番目のString引数を取ることができます。
構文
引数
返される値
- 入力値の文字列表現を返します。
String
。
例
使用例
toFixedString
String型の引数をFixedString(N)型に変換します(固定長Nの文字列)。 文字列がNよりも少ないバイト数の場合、右側にNULLバイトでパディングされます。文字列がNよりも多いバイト数の場合、例外がスローされます。
構文
引数
返される値
s
のN長さの固定文字列。 FixedString。
例
クエリ:
結果:
toStringCutToZero
StringまたはFixedString引数を受け入れます。最初に見つかったゼロバイトで内容が切り詰められたStringを返します。
構文
例
クエリ:
結果:
クエリ:
結果:
toDecimalString
数値を文字列に変換し、小数点以下の桁数をユーザーが指定します。
構文
引数
返される値
- 指定された小数桁数(スケール)で表された文字列としての入力値。 要求されたスケールが元の数のスケールよりも小さい場合、数は通常の算術に従って四捨五入されます。
例
クエリ:
結果:
reinterpretAsUInt8
入力値をUInt8型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt8として再解釈された値
x
。 UInt8。
例
クエリ:
結果:
reinterpretAsUInt16
入力値をUInt16型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt16として再解釈された値
x
。 UInt16。
例
クエリ:
結果:
reinterpretAsUInt32
入力値をUInt32型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt32として再解釈された値
x
。 UInt32。
例
クエリ:
結果:
reinterpretAsUInt64
入力値をUInt64型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt64として再解釈された値
x
。 UInt64。
例
クエリ:
結果:
reinterpretAsUInt128
入力値をUInt128型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt128として再解釈された値
x
。 UInt128。
例
クエリ:
結果:
reinterpretAsUInt256
入力値をUInt256型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- UInt256として再解釈された値
x
。 UInt256。
例
クエリ:
結果:
reinterpretAsInt8
入力値をInt8型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int8として再解釈された値
x
。 Int8。
例
クエリ:
結果:
reinterpretAsInt16
入力値をInt16型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int16として再解釈された値
x
。 Int16。
例
クエリ:
結果:
reinterpretAsInt32
入力値をInt32型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int32として再解釈された値
x
。 Int32。
例
クエリ:
結果:
reinterpretAsInt64
入力値をInt64型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int64として再解釈された値
x
。 Int64。
例
クエリ:
結果:
reinterpretAsInt128
入力値をInt128型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int128として再解釈された値
x
。 Int128。
例
クエリ:
結果:
reinterpretAsInt256
入力値をInt256型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Int256として再解釈された値
x
。 Int256。
例
クエリ:
結果:
reinterpretAsFloat32
入力値をFloat32型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Float32として再解釈された値
x
。 Float32。
例
クエリ:
結果:
reinterpretAsFloat64
入力値をFloat64型の値として扱うことでバイトの再解釈を行います。CAST
とは異なり、関数は元の値を保持しようとはしません。ターゲット型が入力型を表現できない場合、出力は無意味です。
構文
引数
返される値
- Float64として再解釈された値
x
。 Float64。
例
クエリ:
結果:
reinterpretAsDate
文字列、固定文字列、または数値を受け取り、ホストオーダー(リトルエンディアン)での数としてバイトを解釈します。Unixエポックの開始からの日数として解釈された数から日付を返します。
構文
引数
返される値
- 日付。 Date。
実装の詳細
提供された文字列が十分に長くない場合、関数は文字列が必要な数のNULLバイトでパディングされているかのように動作します。文字列が必要以上に長い場合、余分なバイトは無視されます。
例
クエリ:
結果:
reinterpretAsDateTime
これらの関数は文字列を受け取り、文字列の先頭に置かれたバイトをホストオーダー(リトルエンディアン)の数として解釈します。Unixエポックの開始からの秒数として解釈された時間を持つ日付を返します。
構文
引数
返される値
- 日付と時間。 DateTime。
実装の詳細
提供された文字列が十分に長くない場合、関数は文字列が必要な数のNULLバイトでパディングされているかのように動作します。文字列が必要以上に長い場合、余分なバイトは無視されます。
例
クエリ:
結果:
reinterpretAsString
この関数は数値、日付、または日付と時間を受け取り、ホストオーダー(リトルエンディアン)の対応する値を表すバイトを含む文字列を返します。末尾からNULLバイトが削除されます。例えば、UInt32型の値255は1バイトの長さの文字列です。
構文
引数
返される値
x
を表すバイトを含む文字列。 String。
例
クエリ:
結果:
reinterpretAsFixedString
この関数は数値、日付、または日付と時間を受け取り、ホストオーダー(リトルエンディアン)の対応する値を表すバイトを含むFixedStringを返します。末尾からNULLバイトが削除されます。例えば、UInt32型の値255は1バイトの長さのFixedStringです。
構文
引数
返される値
x
を表すバイトを含む固定文字列。 FixedString。
例
クエリ:
結果:
reinterpretAsUUID
ここにリストされたUUID関数に加えて、専用のUUID関数ドキュメントがあります。
16バイトの文字列を受け取り、各8バイトの半分をリトルエンディアンのバイト順で解釈してUUIDを返します。文字列が十分に長くない場合、関数は文字列が必要な数のNULLバイトでパディングされているかのように動作します。文字列が16バイトよりも長い場合、末尾の余分なバイトは無視されます。
構文
引数
fixed_string
— ビッグエンディアンのバイト文字列。 FixedString。
返される値
- UUID型の値。 UUID。
例
文字列からUUIDへ。
クエリ:
結果:
文字列からUUID、またその逆。
クエリ:
結果:
reinterpret
同じソースのメモリ内バイト列をx
の値として使用し、ターゲット型に再解釈します。
構文
引数
x
— 任意の型。type
— ターゲット型。配列である場合、配列要素の型は固定長型でなければなりません。
返される値
- ターゲット型の値。
例
クエリ:
結果:
クエリ:
結果:
CAST
入力値を指定されたデータ型に変換します。reinterpret関数とは異なり、CAST
は新しいデータ型を使用して同じ値を表示しようとします。変換が不可能な場合は、例外が発生します。
いくつかの構文のバリエーションがサポートされています。
構文
引数
x
— 変換する値。任意の型であることができます。T
— ターゲットデータ型の名前。 String。t
— ターゲットデータ型。
返される値
- 変換された値。
入力値がターゲット型の範囲に収まらない場合、結果がオーバーフローします。例えば、CAST(-1, 'UInt8')
は255
を返します。
例
クエリ:
結果:
クエリ:
結果:
FixedString (N)への変換はStringまたはFixedString型の引数に対してのみ機能します。
Nullableへの型変換とその逆がサポートされています。
例
クエリ:
結果:
クエリ:
結果:
関連項目
accurateCast(x, T)
x
をT
データ型に変換します。
castとの違いは、accurateCast
は、型値x
が型T
の範囲に収まらない場合、数値型のオーバーフローを許可しないことです。例えば、accurateCast(-1, 'UInt8')
は例外をスローします。
例
クエリ:
結果:
クエリ:
結果:
accurateCastOrNull(x, T)
入力値x
を指定されたデータ型T
に変換します。常にNullable型を返し、キャスト値がターゲット型では表示できない場合はNULLを返します。
構文
引数
x
— 入力値。T
— 返されるデータ型の名前。
返される値
- 指定されたデータ型
T
に変換された値。
例
クエリ:
結果:
クエリ:
結果:
accurateCastOrDefault(x, T[, default_value])
入力値x
を指定されたデータ型T
に変換します。キャスト値がターゲット型で表示できない場合は、デフォルト型値または指定されたdefault_value
を返します。
構文
引数
x
— 入力値。T
— 返されるデータ型の名前。default_value
— 返されるデータ型のデフォルト値。
返される値
- 指定されたデータ型
T
に変換された値。
例
クエリ:
結果:
クエリ:
結果:
toInterval
数値と間隔単位(例:'second'や'day')からIntervalデータ型の値を作成します。
構文
引数
-
value
— インターバルの長さ。整数またはそれに対応する文字列表現、浮動小数点数。(U)Int*/Float*/String。 -
unit
— 作成するインターバルの種類。 String Literal。 可能な値:nanosecond
microsecond
millisecond
second
minute
hour
day
week
month
quarter
year
unit
引数は大文字小文字を区別しません。
返される値
- 結果のインターバル。 Interval
例
toIntervalYear
データ型IntervalYearのn
年のインターバルを返します。
構文
引数
返される値
n
年のインターバル。 IntervalYear。
例
クエリ:
結果:
toIntervalQuarter
データ型IntervalQuarterのn
四半期のインターバルを返します。
構文
引数
返される値
n
四半期のインターバル。 IntervalQuarter。
例
クエリ:
結果:
toIntervalMonth
データ型IntervalMonthのn
月のインターバルを返します。
構文
引数
返される値
n
月のインターバル。 IntervalMonth。
例
クエリ:
結果:
toIntervalWeek
データ型IntervalWeekのn
週間のインターバルを返します。
構文
引数
返される値
n
週間のインターバル。 IntervalWeek。
例
クエリ:
結果:
toIntervalDay
データ型IntervalDayのn
日のインターバルを返します。
構文
引数
返される値
n
日のインターバル。 IntervalDay。
例
クエリ:
結果:
toIntervalHour
データ型IntervalHourのn
時間のインターバルを返します。
構文
引数
返される値
n
時間のインターバル。 IntervalHour。
例
クエリ:
結果:
toIntervalMinute
データ型IntervalMinuteのn
分のインターバルを返します。
構文
引数
返される値
n
分のインターバル。 IntervalMinute。
例
クエリ:
結果:
toIntervalSecond
データ型IntervalSecondのn
秒のインターバルを返します。
構文
引数
返される値
n
秒のインターバル。 IntervalSecond。
例
クエリ:
結果:
toIntervalMillisecond
データ型IntervalMillisecondsのn
ミリ秒のインターバルを返します。
構文
引数
返される値
n
ミリ秒のインターバル。 IntervalMilliseconds。
例
クエリ:
結果:
toIntervalMicrosecond
n
マイクロ秒の間隔をデータ型 IntervalMicrosecond で返します。
構文
引数
返される値
n
マイクロ秒の間隔。 IntervalMicrosecond。
例
クエリ:
結果:
toIntervalNanosecond
n
ナノ秒の間隔をデータ型 IntervalNanosecond で返します。
構文
引数
返される値
n
ナノ秒の間隔。 IntervalNanosecond。
例
クエリ:
結果:
parseDateTime
String を DateTime に、MySQL のフォーマット文字列 に従って変換します。
この関数は、関数 formatDateTime の逆操作です。
構文
引数
str
— 解析する文字列format
— フォーマット文字列。オプション。指定しない場合は%Y-%m-%d %H:%i:%s
。timezone
— Timezone。オプション。
返される値
入力文字列から MySQL スタイルのフォーマット文字列に従って解析された DateTime 値を返します。
サポートされているフォーマット指定子
formatDateTime にリストされたすべてのフォーマット指定子。ただし、次のものは除きます:
- %Q: 四半期 (1-4)
例
別名: TO_TIMESTAMP
.
parseDateTimeOrZero
parseDateTime と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付を返します。
parseDateTimeOrNull
parseDateTime と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
別名: str_to_date
.
parseDateTimeInJodaSyntax
parseDateTime に似ていますが、フォーマット文字列が MySQL 構文の代わりに Joda です。
この関数は、関数 formatDateTimeInJodaSyntax の逆操作です。
構文
引数
str
— 解析する文字列format
— フォーマット文字列。オプション。指定しない場合はyyyy-MM-dd HH:mm:ss
。timezone
— Timezone。オプション。
返される値
入力文字列から Joda スタイルのフォーマット文字列に従って解析された DateTime 値を返します。
サポートされているフォーマット指定子
formatDateTimeInJodaSyntax
にリストされたすべてのフォーマット指定子がサポートされていますが、次のものは除きます:
- S: 秒の小数部
- z: タイムゾーン
- Z: タイムゾーンオフセット/ID
例
parseDateTimeInJodaSyntaxOrZero
parseDateTimeInJodaSyntax と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付を返します。
parseDateTimeInJodaSyntaxOrNull
parseDateTimeInJodaSyntax と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTime64
String を DateTime64 に、MySQL のフォーマット文字列 に従って変換します。
構文
引数
str
— 解析する文字列。format
— フォーマット文字列。オプション。指定しない場合は%Y-%m-%d %H:%i:%s.%f
。timezone
— Timezone。オプション。
返される値
入力文字列から MySQL スタイルのフォーマット文字列に従って解析された DateTime64 値を返します。 返される値の精度は 6 です。
parseDateTime64OrZero
parseDateTime64 と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付を返します。
parseDateTime64OrNull
parseDateTime64 と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTime64InJodaSyntax
String を DateTime64 に、Joda フォーマット文字列 に従って変換します。
構文
引数
str
— 解析する文字列。format
— フォーマット文字列。オプション。指定しない場合はyyyy-MM-dd HH:mm:ss
。timezone
— Timezone。オプション。
返される値
入力文字列から Joda スタイルのフォーマット文字列に従って解析された DateTime64 値を返します。
返される値の精度はフォーマット文字列の S
プレースホルダの数に等しい(ただし最大 6 まで)。
parseDateTime64InJodaSyntaxOrZero
parseDateTime64InJodaSyntax と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付を返します。
parseDateTime64InJodaSyntaxOrNull
parseDateTime64InJodaSyntax と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTimeBestEffort
parseDateTime32BestEffort
String 表現の日時を DateTime データ型に変換します。
この関数は、ISO 8601、RFC 1123 - 5.2.14 RFC-822 日付と時刻の仕様、ClickHouse とその他のいくつかの日付と時刻のフォーマットを解析します。
構文
引数
time_string
— 変換する日付と時刻を含む文字列。 String。time_zone
— タイムゾーン。この関数は、タイムゾーンに従ってtime_string
を解析します。 String。
サポートされている非標準フォーマット
- 9..10 桁の unix タイムスタンプ を含む文字列。
- 日付と時刻のコンポーネントを持つ文字列:
YYYYMMDDhhmmss
、DD/MM/YYYY hh:mm:ss
、DD-MM-YY hh:mm
、YYYY-MM-DD hh:mm:ss
、など。 - 日付を含む文字列で、時刻のコンポーネントは含まれていない:
YYYY
、YYYYMM
、YYYY*MM
、DD/MM/YYYY
、DD-MM-YY
など。 - 日と時刻を含む文字列:
DD
、DD hh
、DD hh:mm
。この場合MM
は01
に置き換えられます。 - 日付と時刻を含む文字列、およびタイムゾーンオフセット情報:
YYYY-MM-DD hh:mm:ss ±h:mm
、など。例えば、2020-12-12 17:36:00 -5:00
。 - syslog タイムスタンプ:
Mmm dd hh:mm:ss
。例えば、Jun 9 14:20:32
。
セパレーターを含むすべてのフォーマットでは、この関数は月の名前をその完全な名前または最初の3文字で解析します。例: 24/DEC/18
、24-Dec-18
、01-September-2018
。
指定されていない場合は、年は現在の年として扱われます。もし結果の DateTime が将来の日付(現在の時点の1秒後でも)である場合、現在の年は前の年に置き換えられます。
返される値
time_string
を DateTime データ型に変換します。
例
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
クエリ:
結果:
参照
parseDateTimeBestEffortUS
この関数は、ISO 日付フォーマット(例: YYYY-MM-DD hh:mm:ss
)および他の日付フォーマットで、月と日付のコンポーネントを明確に抽出できる場合、parseDateTimeBestEffort と同様に動作します。例: YYYYMMDDhhmmss
、YYYY-MM
、DD hh
、または YYYY-MM-DD hh:mm:ss ±h:mm
。月と日付のコンポーネントを明確に抽出できない場合、例: MM/DD/YYYY
、MM-DD-YYYY
、または MM-DD-YY
、この関数は DD/MM/YYYY
、DD-MM-YYYY
、または DD-MM-YY
の代わりに米国の日付形式を優先します。例外として、月が 12 より大きく、かつ 31 以下の場合、この関数は parseDateTimeBestEffort の動作に戻り、例: 15/08/2020
は 2020-08-15
として解析されます。
parseDateTimeBestEffortOrNull
parseDateTime32BestEffortOrNull
parseDateTimeBestEffort と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTimeBestEffortOrZero
parseDateTime32BestEffortOrZero
parseDateTimeBestEffort と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付またはゼロの日時を返します。
parseDateTimeBestEffortUSOrNull
parseDateTimeBestEffortUS 関数と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTimeBestEffortUSOrZero
parseDateTimeBestEffortUS 関数と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付(1970-01-01
)またはゼロの日時(1970-01-01 00:00:00
)を返します。
parseDateTime64BestEffort
parseDateTimeBestEffort 関数と同様ですが、ミリ秒とマイクロ秒も解析し、DateTime データ型を返します。
構文
引数
time_string
— 変換する日付または時刻を含む文字列。 String。precision
— 必須の精度。3
— ミリ秒用、6
— マイクロ秒用。デフォルトは3
。オプション。 UInt8。time_zone
— Timezone。この関数は、タイムゾーンに従ってtime_string
を解析します。オプション。 String。
返される値
time_string
を DateTime データ型に変換します。
例
クエリ:
結果:
parseDateTime64BestEffortUS
parseDateTime64BestEffort と同様ですが、曖昧な場合は米国の日付形式(MM/DD/YYYY
など)を優先します。
parseDateTime64BestEffortOrNull
parseDateTime64BestEffort と同様ですが、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTime64BestEffortOrZero
parseDateTime64BestEffort と同様ですが、処理できない日付フォーマットに遭遇したときにゼロの日付またはゼロの日時を返します。
parseDateTime64BestEffortUSOrNull
parseDateTime64BestEffort と同様ですが、曖昧な場合は米国の日付形式(MM/DD/YYYY
など)を優先し、処理できない日付フォーマットに遭遇したときに NULL
を返します。
parseDateTime64BestEffortUSOrZero
parseDateTime64BestEffort と同様ですが、曖昧な場合は米国の日付形式(MM/DD/YYYY
など)を優先し、処理できない日付フォーマットに遭遇したときにゼロの日付またはゼロの日時を返します。
toLowCardinality
入力パラメータを同じデータ型の LowCardinality バージョンに変換します。
LowCardinality
データ型からデータを変換するには、CAST 関数を使用します。例えば、CAST(x as String)
。
構文
引数
expr
— Expression の結果で、サポートされているデータ型のいずれか。 supported data types。
返される値
expr
の結果。 LowCardinality のexpr
の型。
例
クエリ:
結果:
toUnixTimestamp
String
、Date
、または DateTime
を Unix タイムスタンプ(1970-01-01 00:00:00 UTC
からの秒数)として UInt32
型に変換します。
構文
引数
date
: 変換する値。Date
またはDate32
またはDateTime
またはDateTime64
またはString
。timezone
: オプション。変換に使用するタイムゾーン。指定しない場合はサーバーのタイムゾーンが使用されます。String
返される値
Unix タイムスタンプを返します。 UInt32
例
使用例
toUnixTimestamp64Second
DateTime64
を固定秒精度の Int64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
出力値は UTC のタイムスタンプであり、DateTime64
のタイムゾーンではありません。
構文
引数
value
— 精度のある DateTime64 値。 DateTime64。
返される値
value
をInt64
データ型に変換します。 Int64。
例
クエリ:
結果:
toUnixTimestamp64Milli
DateTime64
を固定ミリ秒精度の Int64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
出力値は UTC のタイムスタンプであり、DateTime64
のタイムゾーンではありません。
構文
引数
value
— 精度のある DateTime64 値。 DateTime64。
返される値
value
をInt64
データ型に変換します。 Int64。
例
クエリ:
結果:
toUnixTimestamp64Micro
DateTime64
を固定マイクロ秒精度の Int64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
出力値は UTC のタイムスタンプであり、DateTime64
のタイムゾーンではありません。
構文
引数
value
— 精度のある DateTime64 値。 DateTime64。
返される値
value
をInt64
データ型に変換します。 Int64。
例
クエリ:
結果:
toUnixTimestamp64Nano
DateTime64
を固定ナノ秒精度の Int64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
出力値は UTC のタイムスタンプであり、DateTime64
のタイムゾーンではありません。
構文
引数
value
— 精度のある DateTime64 値。 DateTime64。
返される値
value
をInt64
データ型に変換します。 Int64。
例
クエリ:
結果:
fromUnixTimestamp64Second
Int64
を固定秒精度の DateTime64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
入力値は UTC タイムスタンプとして処理され、指定された(または暗黙の)タイムゾーンのタイムスタンプではありません。
構文
引数
返される値
value
を精度0
の DateTime64 に変換します。 DateTime64。
例
クエリ:
結果:
fromUnixTimestamp64Milli
Int64
を固定ミリ秒精度の DateTime64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
入力値は UTC タイムスタンプとして処理され、指定された(または暗黙の)タイムゾーンのタイムスタンプではありません。
構文
引数
返される値
value
を精度3
の DateTime64 に変換します。 DateTime64。
例
クエリ:
結果:
fromUnixTimestamp64Micro
Int64
を固定マイクロ秒精度の DateTime64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
入力値は UTC タイムスタンプとして処理され、指定された(または暗黙の)タイムゾーンのタイムスタンプではありません。
構文
引数
返される値
value
を精度6
の DateTime64 に変換します。 DateTime64。
例
クエリ:
結果:
fromUnixTimestamp64Nano
Int64
を固定ナノ秒精度の DateTime64
値に変換します。入力値は、その精度に応じて適切にスケーリングされます。
入力値は UTC タイムスタンプとして処理され、指定された(または暗黙の)タイムゾーンのタイムスタンプではありません。
構文
引数
返される値
value
を精度9
の DateTime64 に変換します。 DateTime64。
例
クエリ:
結果:
formatRow
任意の式を指定されたフォーマットを通じて文字列に変換します。
構文
引数
返される値
- フォーマットされた文字列。(テキストフォーマットでは通常改行文字で終了します)。
例
クエリ:
結果:
注: フォーマットに接尾辞/接頭辞が含まれている場合、それは各行に書き込まれます。
例
クエリ:
結果:
注: この関数では、行ベースのフォーマットのみがサポートされています。
formatRowNoNewline
任意の式を指定されたフォーマットを通じて文字列に変換します。これは、最後の \n
があれば削除する点で formatRow と異なります。
構文
引数
返される値
- フォーマットされた文字列。
例
クエリ:
結果: