データ変換に関する一般的な問題
to<type> 関数と cast は、場合によっては異なる動作をします。たとえば LowCardinality の場合、cast は LowCardinality 特性を取り除きますが、to<type> 関数は取り除きません。Nullable についても同様です。この動作は SQL 標準とは互換性がなく、cast_keep_nullable 設定で変更できます。
データ型の値をより小さいデータ型 (たとえば
Int64 から Int32) に変換する場合や、
互換性のないデータ型同士で変換する場合 (たとえば String から Int) は、データが失われる可能性があることに注意してください。結果が想定どおりかどうか、必ず慎重に確認してください。toString 関数に関する注意事項
toString 関数ファミリーでは、数値、文字列 (固定長文字列を除く) 、日付、日時の間で変換できます。
これらの関数はすべて 1 つの引数を受け取ります。
- 文字列との相互変換では、値のフォーマットや解析に TabSeparated フォーマット (および、ほぼすべての他のテキストフォーマット) と同じ規則が使われます。文字列を解析できない場合は例外が発生し、リクエストはキャンセルされます。
- 日付を数値に変換する場合、およびその逆の場合、日付は Unix epoch の開始からの日数に対応します。
- 日時を数値に変換する場合、およびその逆の場合、日時は Unix epoch の開始からの秒数に対応します。
DateTime型の引数に対するtoString関数では、タイムゾーン名 (たとえばEurope/Amsterdam) を含む 2 番目の String 型引数を指定できます。この場合、時刻は指定したタイムゾーンに従ってフォーマットされます。
toDate/toDateTime 関数に関する注意
toDate/toDateTime 関数の日付および日時のフォーマットは、次のように定義されています。
toDate(unix_timestamp) という書き方をサポートできます。これがなければエラーとなり、より煩雑な toDate(toDateTime(unix_timestamp)) と書く必要があります。
日付と日時の間の変換は、時刻が null の値を追加するか時刻を切り捨てるという自然な方法で行われます。
数値型同士の変換には、C++ における異なる数値型間の代入と同じ規則が適用されます。
例
Query
Response
toUnixTimestamp 関数もあわせて参照してください。
CAST
reinterpret 関数とは異なり、CAST は変換先の型でも同じ値になるように変換を試みます。
それが不可能な場合は、例外が送出されます。
構文
Any
例
基本的な使い方
Query
Response
Query
Response
Query
Response
DATE
Date データ型に変換します。これは toDate の MySQL 互換エイリアスです。動作は toDate と同じです。
構文
Date 型の値を返します。
例
基本的な使い方
Query
Response
accurateCast
CAST とは異なり、accurateCast はより厳密な型チェックを行い、変換によってデータの精度が失われる場合や、変換できない場合には例外をスローします。
この関数は、精度の損失や無効な変換を防ぐため、通常の CAST よりも安全です。
構文
Any
例
変換に成功した場合
Query
Response
Query
Response
accurateCastOrDefault
accurateCast と似ていますが、正確に変換できない場合は、例外をスローする代わりにデフォルト値を返します。
デフォルト値を第2引数として指定する場合、その値は変換先の型でなければなりません。
デフォルト値が指定されていない場合は、変換先の型のデフォルト値が使用されます。
構文
x— 変換する値。AnyT— 変換先の型名。const Stringdefault_value— 省略可。変換に失敗した場合に返されるデフォルト値。Any
Any
例
変換に成功した場合
Query
Response
Query
Response
Query
Response
accurateCastOrNull
accurateCast と同様ですが、正確に変換できない場合は、例外をスローする代わりに NULL を返します。
この関数は、accurateCast の安全性と、適切なエラーハンドリングを兼ね備えています。
構文
NULL を返します。Any
例
変換が成功する場合
Query
Response
Query
Response
formatRow
フォーマットに接尾辞/プレフィックスが含まれている場合、それらは各行に書き込まれます。
この関数では、行ベースのフォーマットのみをサポートします。
String
例
基本的な使い方
Query
Response
Query
Response
formatRowNoNewline
formatRow と同じですが、各行の改行文字を取り除きます。
指定したフォーマットを使用して任意の式を文字列に変換しますが、結果の末尾にある改行文字はすべて削除されます。
構文
String
例
基本的な使い方
Query
Response
fromUnixTimestamp64Micro
DateTime64 値に変換します。
入力値は、マイクロ秒精度の Unixタイムスタンプ (1970-01-01 00:00:00 UTC からの経過マイクロ秒数) として扱われます。
構文
DateTime64 型の値を返します。DateTime64(6)
例
使用例
Query
Response
fromUnixTimestamp64Milli
DateTime64 値に変換します。
入力値は、ミリ秒精度の Unixタイムスタンプ (1970-01-01 00:00:00 UTC からの経過ミリ秒数) として扱われます。
構文
DateTime64 値。DateTime64(3)
例
使用例
Query
Response
fromUnixTimestamp64Nano
DateTime64 値に変換します。
入力値は、ナノ秒精度の Unixタイムスタンプ (1970-01-01 00:00:00 UTC からのナノ秒数) として扱われます。
入力値は UTC のタイムスタンプとして扱われ、入力値のタイムゾーンは考慮されないことに注意してください。
DateTime64 値を返します。DateTime64(9)
例
使用例
Query
Response
fromUnixTimestamp64Second
DateTime64 値に変換します。
入力値は、秒精度の Unixタイムスタンプ (1970-01-01 00:00:00 UTC からの経過秒数) として扱われます。
構文
DateTime64 値を返します。 DateTime64(0)
例
使用例
Query
Response
parseDateTime
formatDateTime の逆関数です。
フォーマット文字列を使用して String 型の引数を解析します。戻り値は DateTime 型です。
構文
TO_UNIXTIME
引数
time_string— DateTime に解析する文字列。Stringformat—time_stringの解析方法を指定するフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime
例
使用例
Query
Response
parseDateTime32BestEffort
DateTimeデータ型に変換します。
この関数は、ISO 8601、RFC 1123 - 5.2.14 RFC-822 Date and Time Specification、ClickHouse独自の形式を含む、いくつかの日付と時刻のフォーマットを解析します。
構文
time_string を DateTime として返します。DateTime
例
使用例
Query
Response
Query
Response
Query
Response
parseDateTime32BestEffortOrNull
parseDateTime32BestEffort と同様ですが、処理できない日付フォーマットが指定された場合は NULL を返します。
構文
DateTime オブジェクトを返します。パースに失敗した場合は NULL を返します。DateTime
例
使用例
Query
Response
parseDateTime32BestEffortOrZero
parseDateTime32BestEffort と同様ですが、処理できない日付フォーマットに遭遇した場合は、ゼロ日付またはゼロ日時を返します。
構文
DateTime オブジェクトを返します。パースに失敗した場合は、ゼロ日付 (1970-01-01 00:00:00) を返します。DateTime
例
使用例
Query
Response
parseDateTime64
formatDateTime の逆関数です。
フォーマット String を使って String 型の argument を解析します。1900 年から 2299 年までの日付をサブ秒精度で表現できる DateTime64 型を返します。
構文
time_string— DateTime64 に解析する文字列。Stringformat—time_stringの解析方法を指定するフォーマット文字列。Stringtimezone— 省略可。タイムゾーン。String
DateTime64
例
使用例
Query
Response
parseDateTime64BestEffort
parseDateTimeBestEffort 関数と同様ですが、ミリ秒とマイクロ秒もパースし、DateTime64 データ型を返します。
構文
time_string— 変換する日付または日時を含む String。Stringprecision— 任意。必要な精度。ミリ秒は3、マイクロ秒は6。デフォルト:3。UInt8time_zone— 任意。タイムゾーン。関数はtime_zoneに従ってtime_stringを解析します。String
time_string を DateTime64 型に変換して返します。DateTime64
例
使用例
Query
Response
parseDateTime64BestEffortOrNull
parseDateTime64BestEffort と同様ですが、処理できない日付フォーマットに遭遇した場合は NULL を返します。
構文
time_string— 変換する日付または日時を含む String。Stringprecision— 任意。必要な精度です。ミリ秒は3、マイクロ秒は6です。デフォルト:3。UInt8time_zone— 任意。タイムゾーン。関数はtime_zoneに従ってtime_stringを解析します。String
time_string を DateTime64 に変換して返します。入力を解析できない場合は NULL を返します。DateTime64 または NULL
例
使用例
Query
Response
parseDateTime64BestEffortOrZero
parseDateTime64BestEffort と同様ですが、処理できない日付フォーマットに遭遇した場合は、ゼロ日付またはゼロ日時を返します。
構文
time_string— 変換する日付または日時を含む文字列。Stringprecision— 任意。必要な精度です。ミリ秒は3、マイクロ秒は6。デフォルトは3です。UInt8time_zone— 任意。タイムゾーンです。関数はこのタイムゾーンに従ってtime_stringを解析します。String
time_string を DateTime64 に変換して返します。入力を解析できない場合は、ゼロ日付/日時 (1970-01-01 00:00:00.000) を返します。DateTime64
例
使用例
Query
Response
parseDateTime64BestEffortUS
MM/DD/YYYY など) を優先する点を除き、parseDateTime64BestEffort と同じです。
構文
time_string— 変換対象の日付または日時を含む文字列。Stringprecision— 任意。必要な精度。ミリ秒は3、マイクロ秒は6。デフォルト:3。UInt8time_zone— 任意。タイムゾーン。関数はタイムゾーンに従ってtime_stringを解析します。String
time_stringをDateTime64に変換して返します。DateTime64
例
使用例
Query
Response
parseDateTime64BestEffortUSOrNull
parseDateTime64BestEffort と同じですが、曖昧な場合には US 日付形式 (MM/DD/YYYY など) を優先し、処理できない日付形式に遭遇した場合は NULL を返します。
Syntax
time_string— 変換する日付または日時を含む String。Stringprecision— 任意。必要な精度。3はミリ秒、6はマイクロ秒です。デフォルト:3。UInt8time_zone— 任意。タイムゾーン。関数はこのタイムゾーンに従ってtime_stringを解析します。String
DateTime64 に変換された time_string を返します。入力を解析できない場合は NULL を返します。 DateTime64 または NULL
例
使用例
Query
Response
parseDateTime64BestEffortUSOrZero
parseDateTime64BestEffort と同様ですが、あいまいな場合は US 日付形式 (MM/DD/YYYY など) を優先し、処理できない日付形式に遭遇すると、ゼロ日付またはゼロの date time を返します。
構文
time_string— 変換する日付または日時を含む String。Stringprecision— 任意。必要な精度です。ミリ秒は3、マイクロ秒は6。デフォルト値:3。UInt8time_zone— 任意。タイムゾーン。関数はtime_stringをこのタイムゾーンに従って解析します。String
time_string を、米国形式を優先して DateTime64 に変換して返します。入力を解析できない場合は、ゼロ日付/日時 (1970-01-01 00:00:00.000) を返します。DateTime64
例
使用例
Query
Response
parseDateTime64InJodaSyntax
formatDateTimeInJodaSyntax の逆関数です。
Joda 形式のフォーマット String を使用して String 型の引数を解析します。戻り値は、1900 年から 2299 年までの日付を秒未満の精度で表現できる DateTime64 型です。
フォーマットパターンについては、Joda Time documentation を参照してください。
構文
time_string— DateTime64 として解析する文字列。Stringformat—time_stringをどのように解析するかを指定する Joda 構文のフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime64
例
使用例
Query
Response
parseDateTime64InJodaSyntaxOrNull
parseDateTime64InJodaSyntax と同様ですが、解析できない日付形式に遭遇した場合は NULL を返します。
構文
time_string— DateTime64 にパースする対象の文字列。Stringformat—time_stringをどのようにパースするかを指定する Joda 構文のフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
Nullable(DateTime64)
例
使用例
Query
Response
parseDateTime64InJodaSyntaxOrZero
parseDateTime64InJodaSyntax と同様ですが、解析できない日付形式に遭遇した場合はゼロ日付を返します。
構文
time_string— DateTime64 にパースする文字列。Stringformat—time_stringをどのようにパースするかを指定する Joda 構文のフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime64
例
使用例
Query
Response
parseDateTime64OrNull
parseDateTime64 と同様ですが、解析できない日付形式が指定された場合は NULL を返します。
構文
time_string— DateTime64 にパースする対象の文字列。Stringformat—time_stringをどのようにパースするかを指定するフォーマット文字列。Stringtimezone— 省略可能。タイムゾーン。String
Nullable(DateTime64)
例
使用例
Query
Response
parseDateTime64OrZero
parseDateTime64 と同様ですが、解釈できない日付フォーマットが指定された場合はゼロ日付を返します。
構文
time_string— DateTime64 にパースされる文字列。Stringformat—time_stringのパース方法を指定するフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime64
例
使用例
Query
Response
parseDateTimeBestEffort
- 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など。 - syslog タイムスタンプ:
Mmm dd hh:mm:ss。たとえば、Jun 9 14:20:32。
time_string を DateTime として返します。DateTime
例
使用例
Query
Response
Query
Response
Query
Response
parseDateTimeBestEffortOrNull
parseDateTimeBestEffort と同様ですが、処理できない日付フォーマットに遭遇した場合は NULL を返します。
この関数は、ISO 8601、RFC 1123 - 5.2.14 RFC-822 Date and Time Specification、ClickHouse 独自のものを含む、いくつかの日付と時刻のフォーマットを解析します。
サポートされている非標準フォーマット:
- 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など。 - syslog のタイムスタンプ:
Mmm dd hh:mm:ss。たとえばJun 9 14:20:32。
time_string を DateTime として返します。入力を解析できない場合は NULL を返します。DateTime または NULL
例
使用例
Query
Response
parseDateTimeBestEffortOrZero
parseDateTimeBestEffort と同じです。
この関数は、ISO 8601、RFC 1123 - 5.2.14 RFC-822 Date and Time Specification、ClickHouse およびその他いくつかの日付と時刻のフォーマットを解析します。
サポートされる非標準フォーマット:
- 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に置き換えられます。 - 日付と時刻に加えて time zone オフセット情報を含む文字列:
YYYY-MM-DD hh:mm:ss ±h:mmなど。 - syslog の timestamp:
Mmm dd hh:mm:ss。たとえばJun 9 14:20:32。
time_string を DateTime として返します。入力を解析できない場合は、ゼロ日付/日時 (1970-01-01 または 1970-01-01 00:00:00) を返します。DateTime
例
使用例
Query
Response
parseDateTimeBestEffortUS
YYYY-MM-DD hh:mm:ss) や、月と日の部分を曖昧さなく判別できるその他の日付フォーマット (例: YYYYMMDDhhmmss、YYYY-MM、DD hh、YYYY-MM-DD hh:mm:ss ±h:mm) については、parseDateTimeBestEffort と同様に動作します。
月と日の部分を曖昧さなく判別できない場合 (例: MM/DD/YYYY、MM-DD-YYYY、MM-DD-YY) は、DD/MM/YYYY、DD-MM-YYYY、DD-MM-YY ではなく、US 日付形式を優先します。
ただし、前述の説明の例外として、月が 12 より大きく 31 以下の場合、この関数は parseDateTimeBestEffort の動作にフォールバックします。たとえば 15/08/2020 は 2020-08-15 として解析されます。
構文
time_string を DateTime として返します。DateTime
例
使用例
Query
Response
parseDateTimeBestEffortUSOrNull
NULL を返す点を除き、parseDateTimeBestEffortUS 関数と同じです。
この関数は ISO 日付フォーマットに対しては parseDateTimeBestEffort と同様に動作しますが、曖昧なケースでは US 日付形式を優先し、パースエラーが発生した場合は NULL を返します。
構文
time_string を US 形式優先で DateTime として返します。入力をパースできない場合は NULL を返します。DateTime または NULL
例
使用例
Query
Response
parseDateTimeBestEffortUSOrZero
parseDateTimeBestEffortUS 関数と同様ですが、処理できない日付フォーマットに遭遇した場合は、ゼロ日付 (1970-01-01) または日時のゼロ日付 (1970-01-01 00:00:00) を返します。
この関数は ISO 日付フォーマットに対しては parseDateTimeBestEffort と同様に動作しますが、曖昧なケースでは US 日付形式を優先し、パースエラー時にはゼロを返します。
構文
time_string を DateTime として返します。入力を解析できない場合は、ゼロ日付/日時 (1970-01-01 または 1970-01-01 00:00:00) を返します。DateTime
例
使用例
Query
Response
parseDateTimeInJodaSyntax
formatDateTimeInJodaSyntax の逆関数です。
Joda スタイルのフォーマット String を使用して String 型の argument を解析します。戻り値は DateTime 型です。
フォーマットパターンについては、Joda Time documentation を参照してください。
構文
time_string— DateTime に解析される文字列。Stringformat—time_stringをどのように解析するかを指定する Joda 構文のフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime
例
使用例
Query
Response
parseDateTimeInJodaSyntaxOrNull
parseDateTimeInJodaSyntax と同じですが、解析不能な日付フォーマットに遭遇した場合は NULL を返します。
構文
time_string— DateTime にパースされる文字列。Stringformat—time_stringのパース方法を指定する、Joda 構文のフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
Nullable(DateTime)
例
使用例
Query
Response
parseDateTimeInJodaSyntaxOrZero
parseDateTimeInJodaSyntax と同じですが、解析できない日付形式が指定された場合はゼロ日付を返します。
構文
time_string— DateTime にパースする文字列。Stringformat—time_stringのパース方法を指定する、Joda 構文 の format string。Stringtimezone— 省略可能。タイムゾーン。String
DateTime
例
使用例
Query
Response
parseDateTimeOrNull
parseDateTime と同様ですが、解釈できない日付形式の場合は NULL を返します。
構文
str_to_date
引数
time_string— DateTime にパースする対象の文字列。Stringformat—time_stringをどのようにパースするかを指定するフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
Nullable(DateTime)
例
使用例
Query
Response
parseDateTimeOrZero
parseDateTime と同様ですが、パースできない日付形式に遭遇した場合はゼロ日付を返します。
構文
time_string— DateTime にパースする文字列。Stringformat—time_stringをどのようにパースするかを指定するフォーマット文字列。Stringtimezone— 任意。タイムゾーン。String
DateTime
例
使用例
Query
Response
reinterpret
x のメモリ上のバイト列をそのまま使用し、宛先の型として再解釈します。
構文
Any
例
使用例
Query
Response
Query
Response
reinterpretAsDate
Date
例
使用例
Query
Response
reinterpretAsDateTime
DateTime
例
使用例
Query
Response
reinterpretAsFixedString
x を表すバイトを含む固定長文字列。FixedString
例
使用例
Query
Response
reinterpretAsFloat32
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、結果は未定義です。
構文
x を再解釈した値を返します。Float32
例
使用例
Query
Response
reinterpretAsFloat64
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x を返します。Float64
例
使用例
Query
Response
reinterpretAsInt128
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表せない場合、結果は未定義です。
構文
x を返します。Int128
例
使用例
Query
Response
reinterpretAsInt16
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義になります。
構文
x を返します。Int16
例
使用例
Query
Response
reinterpretAsInt256
CAST とは異なり、この関数は元の値を保持しようとはしません。対象の型で入力型を表現できない場合、出力は未定義になります。
構文
x の値を返します。Int256
例
使用例
Query
Response
reinterpretAsInt32
CAST とは異なり、この関数は元の値を保持しようとはしません。対象の型で入力型を表現できない場合、結果は未定義です。
構文
x の値を返します。Int32
例
使用例
Query
Response
reinterpretAsInt64
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x を返します。Int64
例
使用例
Query
Response
reinterpretAsInt8
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x を返します。Int8
例
使用例
Query
Response
reinterpretAsString
x を表すバイト列を含む文字列。String
例
使用例
Query
Response
reinterpretAsUInt128
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x を返します。UInt128
例
使用例
Query
Response
reinterpretAsUInt16
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x を返します。UInt16
例
使用例
Query
Response
reinterpretAsUInt256
CAST とは異なり、この関数は元の値を保持しようとはしません。対象の型で入力型を表現できない場合、出力は未定義です。
構文
x— UInt256 として再解釈する対象の値。(U)Int*またはFloat*またはDateまたはDateTimeまたはUUIDまたはStringまたはFixedString
x を返します。UInt256
例
使用例
Query
Response
reinterpretAsUInt32
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x— UInt32 として再解釈する対象の値。(U)Int*またはFloat*またはDateまたはDateTimeまたはUUIDまたはStringまたはFixedString
x を返します。UInt32
例
使用例
Query
Response
reinterpretAsUInt64
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力型を表現できない場合、出力は未定義です。
構文
x— UInt64 として再解釈される値。Int*またはUInt*またはFloat*またはDateまたはDateTimeまたはUUIDまたはStringまたはFixedString
x を再解釈した値を返します。UInt64
例
使用例
Query
Response
reinterpretAsUInt8
CAST とは異なり、この関数は元の値を保持しようとはしません。変換先の型で入力値を表現できない場合、出力は未定義です。
構文
x を返します。UInt8
例
使用例
Query
Response
reinterpretAsUUID
fixed_string— ビッグエンディアン形式のバイト列。FixedString
UUID
例
文字列から UUID
Query
Response
toBFloat16
expr— 数値またはその文字列表現を返す式。Expression
BFloat16
例
使用例
Query
Response
toBFloat16OrNull
- 数値を表す文字列。
NULL を返します):
- バイナリ値および16進値を表す文字列。
- 数値。
この関数では、文字列表現から変換する際に精度が失われることがありますが、その際にエラーは返されません。
x— 数値の文字列表現。String
NULL を返します。BFloat16 または NULL
例
使用例
Query
Response
toBFloat16OrZero
- 数値を表す文字列。
0 を返します):
- バイナリ値および 16 進数値を表す文字列。
- 数値。
この関数では、文字列表現から変換する際に、精度が失われてもエラーになりません。
x— 数値の文字列表現。String
0 を返します。 BFloat16
例
使用例
Query
Response
toBool
expr— 数値または文字列を返す式。文字列の場合は、‘true’ または ‘false’ を受け付けます (大文字と小文字は区別されません) 。(U)Int*またはFloat*またはStringまたはExpression
true または false を返します。 Bool
例
使用例
Query
Response
toDate
Date 型に変換します。
String、FixedString、DateTime、または数値型から変換できます。
構文
x— 変換対象の入力値。StringまたはFixedStringまたはDateTimeまたは(U)Int*またはFloat*
Date
例
String から Date への変換
Query
Response
Query
Response
Query
Response
toDate32
toDate32 は Date32 でサポートされる境界値を返します。
引数の型が Date の場合は、その範囲が考慮されます。
構文
Date32
例
範囲内
Query
Response
Query
Response
toDate32OrDefault
toDate32OrDefault は Date32 でサポートされている下限値を返します。引数が Date 型の場合は、その型の範囲が考慮されます。無効な引数を受け取った場合は、デフォルト値を返します。
構文
default が指定されていればその値を、指定されていなければ 1900-01-01 を返します。Date32
例
変換に成功した場合
Query
Response
Query
Response
toDate32OrNull
NULL を返します。
toDate32 と同じですが、無効な引数が渡された場合は NULL を返します。
構文
x— 日付の文字列表現。String
Date32 値を返し、失敗した場合は NULL を返します。Date32 または NULL
例
使用例
Query
Response
toDate32OrZero
x— 日付の文字列表現。String
1900-01-01) を返します。Date32
例
使用例
Query
Response
toDateOrDefault
Date
例
変換に成功した場合
Query
Response
Query
Response
toDateOrNull
Date 型の値に変換しますが、無効な引数が渡された場合は NULL を返します。
toDate と同様ですが、無効な引数が渡された場合は NULL を返します。
構文
x— 日付の文字列表現です。String
Date 値を返し、失敗した場合は NULL を返します。Date または NULL
例
使用例
Query
Response
toDateOrZero
Date 型の値に変換します。無効な引数を受け取った場合は、Date の下限値を返します。
toDate と同様ですが、無効な引数を受け取った場合は Date の下限値を返します。
関連項目:
構文
x— 日付の文字列表現。String
1970-01-01) を返します。Date
例
使用例
Query
Response
toDateTime
expr が数値の場合、Unix epoch の開始からの経過秒数 (Unix timestamp) として解釈されます。
expr が String の場合、Unix timestamp、または date / 日時の文字列表現として解釈されることがあります。
そのため、短い数値文字列 (4 桁以下) のパースは、曖昧さを避けるため明示的に無効化されています。たとえば、文字列 '1999' は年 (Date / DateTime の不完全な文字列表現) を表す場合も、unix timestamp を表す場合もあります。より長い数値文字列は使用できます。DateTime
例
使用例
Query
Response
toDateTime32
DateTime 型に変換します。
String、FixedString、Date、Date32、DateTime、または数値型 ((U)Int*、Float*、Decimal) からの変換をサポートします。
DateTime32 は DateTime より広い範囲を扱え、1900-01-01 から 2299-12-31 までの日付をサポートします。
構文
x— 変換する入力値。StringまたはFixedStringまたはUInt*またはFloat*またはDateまたはDateTimeまたはDateTime64timezone— 省略可能。返されるDateTime値に使用するタイムゾーン。String
DateTime
例
値が範囲内にある場合
Query
Response
Query
Response
Query
Response
toDateTime64
DateTime64 型の値に変換します。
構文
expr— 数値、または数値の文字列表現を返す式。式scale— ティックサイズ (精度) : 10^(-scale) Seconds。UInt8timezone— 任意。指定したDateTime64オブジェクトのタイムゾーン。String
DateTime64
例
値が範囲内にある
Query
Response
Query
Response
Query
Response
toDateTime64OrDefault
expr— 数値、または数値の文字列表現を返す式。Stringまたは(U)Int*またはFloat*scale— ティックサイズ (精度) : 10^-precision Seconds。UInt8timezone— 任意。タイムゾーン。Stringdefault— 任意。パースに失敗した場合に返すデフォルト値。DateTime64
DateTime64
例
変換に成功した場合
Query
Response
Query
Response
toDateTime64OrNull
DateTime64 型の値に変換します。無効な引数を受け取った場合は NULL を返します。
toDateTime64 と同様ですが、無効な引数を受け取った場合は NULL を返します。
構文
x— 日時 (秒未満の精度を含む) の文字列表現。String
DateTime64 値を返し、失敗した場合は NULL を返します。DateTime64 または NULL
例
使用例
Query
Response
toDateTime64OrZero
x— 日時を秒未満の精度まで含む文字列表現。String
1970-01-01 00:00:00.000) を返します。DateTime64
例
使用例
Query
Response
toDateTimeOrDefault
expr— 数値、または数値を表す文字列を返す式。Stringまたは(U)Int*またはFloat*timezone— 任意。タイムゾーン。Stringdefault— 任意。パースに失敗した場合に返すデフォルト値。DateTime
default が渡されていればその値を返し、渡されていなければ 1970-01-01 00:00:00 を返します。DateTime
例
変換に成功した場合
Query
Response
Query
Response
toDateTimeOrNull
DateTime 型の値に変換しますが、無効な引数が渡された場合は NULL を返します。
toDateTime と同様ですが、無効な引数が渡された場合は NULL を返します。
構文
x— 日時の文字列表現。String
DateTime 型の値を返し、それ以外の場合は NULL を返します。DateTime または NULL
例
使用例
Query
Response
toDateTimeOrZero
x— 日時の文字列表現。String
1970-01-01 00:00:00) を返します。DateTime
例
使用例
Query
Response
toDecimal128
S の Decimal(38, S) 型の値に変換します。
エラー時には例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
- Float* 型の値
NaNおよびInfの文字列表現 (大文字と小文字を区別しません) 。 - 二進数値および16進数値の文字列表現。例:
SELECT toDecimal128('0xc0fe', 1);。
expr の値が Decimal128 の範囲 (-1*10^(38 - S), 1*10^(38 - S)) を超えると、オーバーフローが発生する可能性があります。
小数部の桁数が多すぎる場合は切り捨てられます (丸めは行われません) 。
整数部の桁数が多すぎる場合は例外が発生します。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0 から 38 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
Decimal(38, S) の値を返します。Decimal128(S)
例
使用例
Query
Response
toDecimal128OrDefault
toDecimal128 と同様に、この関数は入力値を Decimal(38, S) 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
構文
expr— 数値の文字列表現です。StringS— 0 から 38 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8default— 任意。Decimal128(S) 型へのパースに失敗した場合に返されるデフォルト値です。Decimal128(S)
Decimal128(S)
例
変換に成功した場合
Query
Response
Query
Response
toDecimal128OrNull
Decimal(38, S) 型の値に変換します。エラーが発生した場合は NULL を返します。
toDecimal128 と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
NULL を返します) :
- Float* 型の値
NaNおよびInf、またはその文字列表現 (大文字と小文字を区別しません) 。 - バイナリ値および16進数値の文字列表現。
Decimal128の範囲(-1*10^(38 - S), 1*10^(38 - S))を超える値。
expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0~38 のスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
NULL を返します。Decimal128(S) または NULL
例
使用例
Query
Response
toDecimal128OrZero
0 を返します。
toDecimal128 と同様ですが、変換エラー時には例外をスローせず、0 を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
0 を返します):
- Float* 型の値
NaNおよびInf、またはその文字列表現 (大文字と小文字を区別しません) 。 - 2 進数および 16 進数の文字列表現。
入力値が
Decimal128 の範囲 (-1*10^(38 - S), 1*10^(38 - S)) を超える場合、この関数は 0 を返します。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0 から 38 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
0 を返します。Decimal128(S)
例
基本的な使い方
Query
Response
toDecimal256
S を持つ Decimal(76, S) 型の値に変換します。エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
- Float* 値
NaNおよびInfの値、またはその文字列表現 (大文字と小文字を区別しません) 。 - バイナリ値および16進数値の文字列表現。例:
SELECT toDecimal256('0xc0fe', 1);。
expr の値が Decimal256 の範囲 (-1*10^(76 - S), 1*10^(76 - S)) を超えると、オーバーフローが発生する可能性があります。
小数部の桁数が多すぎる場合は切り捨てられます (丸めは行われません) 。
整数部の桁数が多すぎる場合は例外が発生します。expr— 数値、または数値を表す文字列を返す式。ExpressionS— 0 から 76 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
Decimal(76, S) 型の値を返します。Decimal256(S)
例
使用例
Query
Response
toDecimal256OrDefault
toDecimal256 と同様に、この関数は入力値を Decimal(76, S) 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
構文
expr— 数値の文字列表現です。StringS— 0〜76 のスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8default— 任意。Decimal256(S) 型へのパースに失敗した場合に返すデフォルト値です。Decimal256(S)
Decimal256(S)
例
変換成功
Query
Response
Query
Response
toDecimal256OrNull
Decimal(76, S) 型の値に変換します。エラーが発生した場合は NULL を返します。
toDecimal256 と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
NULL を返します) :
- Float* 型の値
NaNおよびInf、またはその文字列表現 (大文字と小文字を区別しません) 。 - バイナリ値および16進値の文字列表現。
Decimal256の範囲を超える値:(-1 * 10^(76 - S), 1 * 10^(76 - S))。
expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0 から 76 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
NULL を返します。Decimal256(S) または NULL
例
使用例
Query
Response
toDecimal256OrZero
0 を返します。
toDecimal256 と同様ですが、変換エラー時に例外をスローする代わりに 0 を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
0 を返します):
- Float* 型の値
NaNおよびInfの値、またはその文字列表現 (大文字と小文字を区別しません) 。 - バイナリ値および16進数値の文字列表現。
入力値が
Decimal256 の範囲 (-1*10^(76 - S), 1*10^(76 - S)) を超える場合、関数は 0 を返します。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0 から 76 までのスケールパラメータで、数値の小数部に含められる桁数を指定します。UInt8
Decimal(76, S) の値を返し、失敗した場合は 0 を返します。Decimal256(S)
例
使用例
Query
Response
toDecimal32
S の Decimal(9, S) 型の値に変換します。エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字を区別しません) 。 - バイナリ値および16進数値の文字列表現。例:
SELECT toDecimal32('0xc0fe', 1);。
expr の値が Decimal32 の範囲 (-1*10^(9 - S), 1*10^(9 - S)) を超えると、オーバーフローが発生する可能性があります。
小数部の桁数が多すぎる場合は切り捨てられます (丸めは行われません) 。
整数部の桁数が多すぎる場合は例外になります。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0〜9 のスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
Decimal(9, S) 型の値を返します。Decimal32(S)
例
使用例
Query
Response
toDecimal32OrDefault
toDecimal32 と同様に、この関数は入力値を Decimal(9, S) 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
構文
expr— 数値の文字列表現。StringS— 0 から 9 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8default— 任意。Decimal32(S) 型へのパースに失敗した場合に返されるデフォルト値。Decimal32(S)
Decimal32(S)
例
変換成功
Query
Response
Query
Response
toDecimal32OrNull
Decimal(9, S) 型の値に変換しますが、エラーが発生した場合は NULL を返します。
toDecimal32 と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
サポートされる引数:
- 型 (U)Int* の値、またはその文字列表現。
- 型 Float* の値、またはその文字列表現。
NULL を返します):
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字を区別しません) 。 - 2進数および16進数の文字列表現。
Decimal32の範囲(-1*10^(9 - S), 1*10^(9 - S))を超える値。
expr— 数値、または数値を表す文字列を返す式。ExpressionS— 0 から 9 までのスケールパラメータで、数値の小数部の桁数を指定します。UInt8
Decimal(9, S) の値を返し、それ以外の場合は NULL を返します。 Decimal32(S) または NULL
例
使用例
Query
Response
toDecimal32OrZero
0 を返します。
toDecimal32 と同様ですが、変換エラー時に例外を送出する代わりに 0 を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
0 を返します) :
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字を区別しません) 。 - 2進数および16進数の文字列表現。
入力値が
Decimal32 の範囲 (-1*10^(9 - S), 1*10^(9 - S)) を超える場合、この関数は 0 を返します。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0 から 9 までのスケールパラメータで、数値の小数部の桁数を指定します。UInt8
0 を返します。Decimal32(S)
例
使用例
Query
Response
toDecimal64
S を持つ Decimal(18, S) 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字は区別されません) 。 - 2進数および16進数の値の文字列表現。例:
SELECT toDecimal64('0xc0fe', 1);。
expr の値が Decimal64 の範囲 (-1*10^(18 - S), 1*10^(18 - S)) を超えると、オーバーフローが発生する可能性があります。
小数部の余分な桁は切り捨てられます (丸められません) 。
整数部の桁数が多すぎる場合は例外が発生します。expr— 数値、または数値の文字列表現を返す式。ExpressionS— 0〜18 のスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8
Decimal(18, S)
例
使用例
Query
Response
toDecimal64OrDefault
toDecimal64 と同様に、入力値を Decimal(18, S) 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
構文
expr— 数値の文字列表現です。StringS— 0 から 18 までのスケールパラメータで、数値の小数部に指定できる桁数を表します。UInt8default— 任意。Decimal64(S) 型へのパースに失敗した場合に返すデフォルト値です。Decimal64(S)
Decimal64(S)
例
変換に成功した場合
Query
Response
Query
Response
toDecimal64OrNull
NULL を返します。
toDecimal64 と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
NULL を返します) :
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字を区別しません) 。 - 2進数および16進数の値の文字列表現。
Decimal64の範囲(-1*10^(18 - S), 1*10^(18 - S))を超える値。
expr— 数値、または数値を文字列で表したものを返す式。ExpressionS— 0 から 18 までのスケールパラメータで、数値の小数部の桁数を指定します。UInt8
NULL を返します。Decimal64(S) または NULL
例
使用例
Query
Response
toDecimal64OrZero
0 を返します。
toDecimal64 と同様ですが、変換エラー時に例外をスローする代わりに 0 を返します。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値、またはその文字列表現。
0 を返します) :
- Float* 型の値
NaNおよびInf、またはそれらの文字列表現 (大文字と小文字は区別されません) 。 - 2進数および16進数の文字列表現。
入力値が
Decimal64 の範囲 (-1*10^(18 - S), 1*10^(18 - S)) を超える場合、この関数は 0 を返します。expr— 数値、または数値を文字列で表したものを返す式。ExpressionS— 0 から 18 までのスケールパラメータで、数値の小数部の桁数を指定します。UInt8
0 を返します。Decimal64(S)
例
使用例
Query
Response
toDecimalString
number— 文字列に変換する数値です。任意の数値型 (Int、UInt、Float、Decimal) を指定できます。Int8またはInt16またはInt32またはInt64またはUInt8またはUInt16またはUInt32またはUInt64またはFloat32またはFloat64またはDecimalscale— 小数部に表示する桁数です。必要に応じて結果は丸められます。UInt8
String
例
数値を丸めてフォーマットする
Query
Response
Query
Response
Query
Response
toFixedString
String 型の引数を FixedString(N) 型 (長さ N の固定長文字列) に変換します。
文字列のバイト数が N 未満の場合は、右側が null バイトで埋められます。
文字列のバイト数が N を超える場合は、例外が発生します。
構文
s— 変換する文字列。StringN— 生成される FixedString の長さ。const UInt*
FixedString(N)
例
使用例
Query
Response
toFloat32
- (U)Int* 型の値。
- (U)Int8/16/32/128/256 の文字列表現。
NaNおよびInfを含む Float* 型の値。NaNおよびInfを含む Float* の文字列表現 (大文字と小文字を区別しません) 。
- 2進数および16進数の文字列表現。たとえば
SELECT toFloat32('0xc0fe');。
expr— 数値、または数値を表す文字列を返す式。Expression
Float32
例
使用例
Query
Response
toFloat32OrDefault
toFloat32 と同様に、この関数は入力値を Float32 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されていない場合、エラー時には 0 が返されます。
構文
expr— 数値、または数値の文字列表現を返す式。Stringまたは(U)Int*またはFloat*default— 省略可能。パースに失敗した場合に返されるデフォルト値。Float32
Float32
例
変換に成功した場合
Query
Response
Query
Response
toFloat32OrNull
NULL を返します。
toFloat32 と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
サポートされる引数:
- 型 (U)Int* の値。
- (U)Int8/16/32/128/256 の文字列表現。
NaNおよびInfを含む、型 Float* の値。NaNおよびInfを含む、Float* の文字列表現 (大文字と小文字を区別しません) 。
NULL を返します):
- 2進数および16進数の文字列表現。例:
SELECT toFloat32OrNull('0xc0fe');。 - 無効な文字列フォーマット。
x— 数値を表す文字列。String
NULL を返します。Float32 または NULL
例
使用例
Query
Response
toFloat32OrZero
0 を返します。
toFloat32 と似ていますが、変換エラー時に例外をスローする代わりに 0 を返します。
関連項目:
構文
x— 数値の文字列表現。String
0 を返します。 Float32
例
使用例
Query
Response
toFloat64
Float64 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値。
- (U)Int8/16/32/128/256 の文字列表現。
NaNとInfを含む Float* 型の値。NaNとInfを含む Float* 型の文字列表現 (大文字と小文字は区別されません) 。
- 2 進数および 16 進数の値の文字列表現。例:
SELECT toFloat64('0xc0fe');。
expr— 数値、または数値の文字列表現を返す式。式
Float64
例
使用例
Query
Response
toFloat64OrDefault
toFloat64 と同様に、この関数は入力値を Float64 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されない場合、エラー時には 0 が返されます。
構文
Float64
例
変換に成功した例
Query
Response
Query
Response
toFloat64OrNull
NULL を返します。
toFloat64 と同様ですが、変換エラー時に例外を送出する代わりに NULL を返します。
サポートされる引数:
- (U)Int* 型の値。
- (U)Int8/16/32/128/256 の文字列表現。
NaNおよびInfを含む Float* 型の値。NaNおよびInfを含む Float* 型の文字列表現 (大文字と小文字を区別しません) 。
NULL を返します) :
- 2進数値および16進数値の文字列表現。例:
SELECT toFloat64OrNull('0xc0fe');。 - 無効な文字列形式。
x— 数値を表す文字列です。String
NULL を返します。Float64 または NULL
例
使用例
Query
Response
toFloat64OrZero
0 を返します。
toFloat64 と同様ですが、変換エラー時に例外をスローする代わりに 0 を返します。
関連項目:
構文
x— 数値を表す文字列です。String
0 を返します。Float64
例
使用例
Query
Response
toInt128
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値を表す文字列。- 2 進数および 16 進数の値を表す文字列。例:
SELECT toInt128('0xc0fe');。
入力値が Int128 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
expr— 数値、または数値を表す文字列を返す式。式
Int128
例
使用例
Query
Response
toInt128OrDefault
toInt128 と同様に、この関数は入力値を Int128 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されない場合は、エラー時に 0 が返されます。
構文
Int128
例
変換に成功した場合
Query
Response
Query
Response
toInt128OrNull
toInt128 と同様に、この関数は入力値を Int128 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2 進数および 16 進数の文字列表現。例:
SELECT toInt128OrNull('0xc0fe');。
入力値が Int128 の範囲内に収まらない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値の文字列表現。String
Int128 型の値を返します。変換に失敗した場合は NULL を返します。Int128 または NULL
例
使用例
Query
Response
toInt128OrZero
0 を返します。
toInt128 と同様ですが、例外をスローする代わりに 0 を返します。
関連項目:
構文
0 を返します。Int128
例
使用例
Query
Response
Query
Response
toInt16
Int16 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNやInfを含む、Float* 型の値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt16('0xc0fe');。
入力値が Int16 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
例:
SELECT toInt16(32768) == -32768;。この関数は ゼロ方向への丸め を使用します。つまり、数値の小数点以下の桁数を切り捨てます。
expr— 数値、または数値の文字列表現を返す式。式
Int16
例
使用例
Query
Response
toInt16OrDefault
toInt16 と同様に、この関数は入力値を Int16 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されていない場合、エラー時には 0 が返されます。
構文
Int16
例
変換に成功した場合
Query
Response
Query
Response
toInt16OrNull
toInt16 と同様に、この関数は入力値を Int16 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt16OrNull('0xc0fe');。
入力値が Int16 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値を表す文字列。String
Int16 型の値を返し、失敗した場合は NULL を返します。 Int16 または NULL
例
使用例
Query
Response
toInt16OrZero
toInt16 と同様に、入力値を Int16 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返す) :
NaNおよびInfを含む Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt16OrZero('0xc0fe');。
入力値が Int16 の範囲内で表現できない場合、結果としてオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値の文字列表現。String
Int16 型の値を返します。変換に失敗した場合は 0 を返します。Int16
例
使用例
Query
Response
toInt256
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt256('0xc0fe');。
入力値が Int256 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
expr— 数値、または数値の文字列表現を返す式。式
Int256
例
使用例
Query
Response
toInt256OrDefault
toInt256 と同様に、この関数は入力値を Int256 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されない場合は、エラー時に 0 が返されます。
構文
Int256
例
変換に成功した場合
Query
Response
Query
Response
toInt256OrNull
toInt256 と同様に、この関数は入力値を Int256 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt256OrNull('0xc0fe');。
入力値が Int256 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとはみなされません。
x— 数値の文字列表現です。String
Int256 型の値を返します。変換に失敗した場合は NULL を返します。 Int256 または NULL
例
使用例
Query
Response
toInt256OrZero
0 を返します。
toInt256 と同様ですが、例外をスローする代わりに 0 を返します。
関連項目:
構文
0 を返します。Int256
例
使用例
Query
Response
Query
Response
toInt32
Int32 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt32('0xc0fe');。
入力値が Int32 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例:
SELECT toInt32(2147483648) == -2147483648;この関数は ゼロ方向への丸め を使用します。つまり、数値の小数点以下の桁を切り捨てます。
expr— 数値、または数値の文字列表現を返す式。式
Int32
例
使用例
Query
Response
toInt32OrDefault
toInt32 と同様に、この関数は入力値を Int32 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が指定されていない場合、エラー時には 0 が返されます。
構文
Int32
Examples
変換に成功した場合
Query
Response
Query
Response
toInt32OrNull
toInt32 と同様に、この関数は入力値を Int32 型の値に変換しますが、エラー時には NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む Float* 値の文字列表現。- 2 進数および 16 進数の文字列表現。例:
SELECT toInt32OrNull('0xc0fe');。
入力値が Int32 の範囲内に収まらない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとはみなされません。
x— 数値の文字列表現。String
Int32 型の値を返します。変換に失敗した場合は NULL を返します。Int32 または NULL
例
使用例
Query
Response
toInt32OrZero
toInt32 と同様に、この関数は入力値を Int32 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt32OrZero('0xc0fe');。
入力値が Int32 の範囲内で表現できない場合、結果にオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値を表す文字列。String
0 を返します。Int32
例
使用例
Query
Response
toInt64
Int64 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値を表す文字列。- 2進数および16進数の文字列表現。例:
SELECT toInt64('0xc0fe');。
入力値が Int64 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例:
SELECT toInt64(9223372036854775808) == -9223372036854775808;この関数は ゼロ方向への丸め を使用します。つまり、数値の小数部分を切り落とします。
expr— 数値、または数値の文字列表現を返す式。サポート対象: 型 (U)Int* の値または文字列表現、型 Float* の値。非対応: NaN および Inf を含む Float* 値の文字列表現、2 進数および 16 進数の値の文字列表現。式
Int64
例
使用例
Query
Response
toInt64OrDefault
toInt64 と同様に、この関数は入力値を Int64 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が指定されていない場合、エラー時には 0 が返されます。
構文
Int64
例
変換に成功した場合
Query
Response
Query
Response
toInt64OrNull
toInt64 と同様に、この関数は入力値を Int64 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toInt64OrNull('0xc0fe');。
入力値が Int64 の範囲内で表現できない場合、結果にオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値を表す文字列。String
Int64 型の値を返します。変換に失敗した場合は NULL を返します。Int64 または NULL
例
使用例
Query
Response
toInt64OrZero
0 を返します。
toInt64 と同様ですが、例外をスローする代わりに 0 を返します。
関連項目:
構文
0 を返します。Int64
例
使用例
Query
Response
Query
Response
toInt8
Int8 型の値に変換します。
エラー時には例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- 2 進数および 16 進数の値の文字列表現。例:
SELECT toInt8('0xc0fe');。
入力値が Int8 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例:
SELECT toInt8(128) == -128;。この関数は ゼロ方向への丸め を使用します。つまり、数値の小数点以下の桁数を切り捨てます。
expr— 数値、または数値の文字列表現を返す式。式
Int8
例
使用例
Query
Response
toInt8OrDefault
toInt8 と同様に、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が指定されていない場合、エラー時には 0 が返されます。
構文
Int8
例
変換に成功した場合
Query
Response
Query
Response
toInt8OrNull
toInt8 と同様に、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数および16進数の文字列表現。例:
SELECT toInt8OrNull('0xc0fe');。
入力値が Int8 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
x— 数値の文字列表現。String
Int8 型の値を返します。変換に失敗した場合は NULL を返します。Int8 または NULL
例
使用例
Query
Response
toInt8OrZero
toInt8 と同様に、この関数は入力値を Int8 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2 進数および 16 進数の文字列表現。例:
SELECT toInt8OrZero('0xc0fe');。
入力値が Int8 の範囲内で表現できない場合、結果としてオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。
x— 数値の文字列表現です。String
0 を返します。Int8
例
使用例
Query
Response
toInterval
toIntervalSecond、toIntervalMinute、toIntervalDay などの型ごとの関数を呼び出すのと同等ですが、
単位を文字列パラメーターとして動的に指定できます。
構文
value— 単位数を表す数値です。任意の数値型を指定できます。Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64unit— 時間の単位です。定数文字列である必要があります。有効な値は次のとおりです: ‘nanosecond’, ‘microsecond’, ‘millisecond’, ‘second’, ‘minute’, ‘hour’, ‘day’, ‘week’, ‘month’, ‘quarter’, ‘year’。String
Interval
例
異なる単位のインターバルを作成する
Query
Response
Query
Response
Query
Response
toIntervalDay
IntervalDay の n 日間の インターバル を返します。
構文
n 日の Interval を返します。Interval
例
使用例
Query
Response
toIntervalHour
IntervalHour の、n 時間を表す インターバル を返します。
構文
n 時間の インターバル を返します。Interval
例
使用例
Query
Response
toIntervalMicrosecond
IntervalMicrosecond の、n マイクロ秒を表す インターバル を返します。
構文
n マイクロ秒を表す インターバル を返します。Interval
例
使用例
Query
Response
toIntervalMillisecond
n ミリ秒のインターバルを返します。
構文
n ミリ秒の Interval を返します。Interval
例
使用例
Query
Response
toIntervalMinute
n 分を表す、データ型 IntervalMinute の interval を返します。
構文
n 分の interval を返します。インターバル
例
使用例
Query
Response
toIntervalMonth
IntervalMonth の n か月のインターバルを返します。
構文
n か月の Interval を返します。
例
使用例
Query
Response
toIntervalNanosecond
IntervalNanosecond の、n ナノ秒を表す interval を返します。
構文
n ナノ秒の インターバル を返します。
例
使用例
Query
Response
toIntervalQuarter
IntervalQuarter の n 四半期の interval 値を返します。
構文
n 四半期を表す interval を返します。インターバル
例
使用例
Query
Response
toIntervalSecond
IntervalSecondのn秒のインターバルを返します。
構文
n 秒の Interval を返します。
例
使用例
Query
Response
toIntervalWeek
IntervalWeek の n 週間のインターバルを返します。
構文
n 週間の インターバル を返します。Interval
例
使用例
Query
Response
toIntervalYear
IntervalYearの、n 年を表す interval 値を返します。
構文
n 年の期間を表す インターバル を返します。
例
使用例
Query
Response
toLowCardinality
LowCardinality データ型に変換した結果を返します。LowCardinality
例
使用例
Query
Response
toString
String
例
使用例
Query
Response
toStringCutToZero
s— 処理対象の String または FixedString。StringまたはFixedString
String
例
使用例
Query
Response
toTime
x— 変換対象の入力値。StringまたはFixedStringまたはDateTimeまたは(U)Int*またはFloat*
Time
例
StringからTimeへの変換
Query
Response
Query
Response
Query
Response
toTime64
x— 変換対象の入力値。StringまたはFixedStringまたはDateTime64または(U)Int*またはFloat*
Time64(6)
例
String から Time64 への変換
Query
Response
Query
Response
Query
Response
toTime64OrNull
Time64 型の値に変換します。エラーが発生した場合は NULL を返します。
toTime64 と同様ですが、変換エラー時には例外をスローせず、NULL を返します。
関連項目:
構文
x— 秒未満の精度を含む時刻の文字列表現。String
Time64 値を返し、失敗した場合は NULL を返します。Time64 または NULL
例
使用例
Query
Response
toTime64OrZero
00:00:00.000 を返します。
toTime64 と同様ですが、変換エラー時には例外をスローせず、代わりに 00:00:00.000 を返します。
構文
x— 秒未満の精度を含む時刻の文字列表現。String
00:00:00.000 を返します。Time64
例
使用例
Query
Response
toTimeOrNull
NULL を返します。
toTime と同様ですが、変換エラー時に例外をスローする代わりに NULL を返します。
関連項目:
構文
x— 時刻を表す文字列。String
Time 型の値を返し、失敗した場合は NULL を返します。Time または NULL
例
使用例
Query
Response
toTimeOrZero
00:00:00 を返します。
toTime と同様ですが、変換エラー時に例外をスローする代わりに 00:00:00 を返します。
構文
x— 時刻を表す文字列。String
Time 型の値を返し、それ以外の場合は 00:00:00 を返します。Time
例
使用例
Query
Response
toUInt128
UInt128 型の値に変換します。
エラーが発生した場合は例外をスローします。
この関数ではゼロ方向への丸めが使用されるため、数値の小数点以下の桁は切り捨てられます。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- 2 進数および 16 進数の値の文字列表現。例:
SELECT toUInt128('0xc0fe');。
入力値を UInt128 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
expr— 数値、または数値の文字列表現を返す式。式
UInt128
例
使用例
Query
Response
toUInt128OrDefault
toUInt128 と同様に、この関数は入力値を UInt128 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が指定されていない場合、エラー時には 0 が返されます。
構文
UInt128
Examples
変換に成功した場合
Query
Response
Query
Response
toUInt128OrNull
toUInt128 と同様に、この関数は入力値を UInt128 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- バイナリ値および 16 進数値の文字列表現。例:
SELECT toUInt128OrNull('0xc0fe');。
入力値が
UInt128 の範囲内に収まらない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値を表す文字列です。String
UInt128 型の値を返します。変換に失敗した場合は NULL を返します。UInt128 または NULL
例
使用例
Query
Response
toUInt128OrZero
toUInt128 と同様に、この関数は入力値を UInt128 型の値に変換しますが、エラー時には 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- バイナリ値および16進数値の文字列表現。例:
SELECT toUInt128OrZero('0xc0fe');。
入力値が
UInt128 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。x— 数値の文字列表現。String
UInt128 型の値を返します。変換に失敗した場合は 0 を返します。UInt128
例
使用例
Query
Response
toUInt16
UInt16型の値に変換します。
エラーが発生した場合は例外をスローします。
対応する引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNやInfを含む、Float* 型の値の文字列表現。- バイナリ値や16進値の文字列表現。例:
SELECT toUInt16('0xc0fe');。
入力値が
UInt16の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例: SELECT toUInt16(65536) == 0;。この関数はゼロ方向への丸めを使用します。つまり、数値の小数点以下の桁を切り捨てます。
expr— 数値、またはその文字列表現を返す式。式
UInt16
例
使用例
Query
Response
toUInt16OrDefault
toUInt16 と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されない場合は、エラー時に 0 が返されます。
構文
default が指定されていればその値を、指定されていなければ 0 を返します。UInt16
例
変換が成功した場合
Query
Response
Query
Response
toUInt16OrNull
toUInt16 と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
NULL を返します) :
NaNおよびInfを含む Float* 型の値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt16OrNull('0xc0fe');。
入力値が
UInt16 の範囲内に収まらない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。x— 数値の文字列表現。String
UInt16 型の値を返します。変換に失敗した場合は NULL を返します。UInt16 または NULL
例
使用例
Query
Response
toUInt16OrZero
toUInt16 と同様に、この関数は入力値を UInt16 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
0 を返します):
NaNおよびInfを含む Float* 値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt16OrZero('0xc0fe');。
入力値が
UInt16 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値の文字列表現。String
0 を返します。UInt16
例
使用例
Query
Response
toUInt256
- (U)Int* 型の値またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数値および16進数値の文字列表現 (例:
SELECT toUInt256('0xc0fe');) 。
入力値を UInt256 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
expr— 数値、または数値を表す文字列を返す式。式
UInt256
例
使用例
Query
Response
toUInt256OrDefault
toUInt256 と同様に、この関数は入力値を UInt256 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されていない場合、エラー時には 0 が返されます。
構文
default が指定されていればその値を、指定されていなければ 0 を返します。UInt256
例
変換に成功した場合
Query
Response
Query
Response
toUInt256OrNull
toUInt256 と同様に、この関数は入力値を UInt256 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2 進数値および 16 進数値の文字列表現。例:
SELECT toUInt256OrNull('0xc0fe');。
入力値が
UInt256 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。x— 数値を表す文字列。String
UInt256 型の値を返します。変換に失敗した場合は NULL を返します。UInt256 または NULL
例
使用例
Query
Response
toUInt256OrZero
toUInt256 と同様に、この関数は入力値を UInt256 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt256OrZero('0xc0fe');。
入力値が
UInt256 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値の文字列表現。String
0 を返します。UInt256
例
使用例
Query
Response
toUInt32
UInt32 型の値に変換します。
エラーが発生した場合は例外がスローされます。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt32('0xc0fe');
入力値が
UInt32 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとはみなされません。
例: SELECT toUInt32(4294967296) == 0;この関数は ゼロ方向への丸め を使用します。つまり、数値の小数点以下を切り捨てます。
expr— 数値、または数値を表す文字列を返す式。式
UInt32
例
使用例
Query
Response
toUInt32OrDefault
toUInt32 と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が指定されていない場合、エラー時には 0 が返されます。
構文
default が渡されていればその値を、渡されていなければ 0 を返します。UInt32
例
変換に成功した場合
Query
Response
Query
Response
toUInt32OrNull
toUInt32 と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラー時には NULL を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
NULL を返します) :
NaNおよびInfを含む Float* 値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt32OrNull('0xc0fe');。
入力値を
UInt32 の範囲内で表現できない場合、結果にオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値を表すStringです。String
UInt32 型の値を返します。変換に失敗した場合は NULL を返します。UInt32 または NULL
例
使用例
Query
Response
toUInt32OrZero
toUInt32 と同様に、この関数は入力値を UInt32 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
0 を返します):
NaNおよびInfを含む Float* 値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt32OrZero('0xc0fe');。
入力値が
UInt32 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。x— 数値の文字列表現。String
UInt32 型の値を返します。変換に失敗した場合は 0 を返します。UInt32
例
使用例
Query
Response
toUInt64
UInt64 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNとInfを含む、Float* 型の値の文字列表現。- 2進数値および16進数値の文字列表現 (例:
SELECT toUInt64('0xc0fe');) 。
入力値が
UInt64 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例: SELECT toUInt64(18446744073709551616) == 0;この関数は ゼロ方向への丸め を使用します。つまり、数値の小数点以下の桁を切り捨てます。
expr— 数値、または数値を表す文字列を返す式。式
UInt64
例
使用例
Query
Response
toUInt64OrDefault
toUInt64 と同様に、この関数は入力値を UInt64 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default が渡されない場合、エラーが発生したときは 0 が返されます。
構文
UInt64
例
変換に成功した場合
Query
Response
Query
Response
toUInt64OrNull
toUInt64 と同様に、この関数は入力値を UInt64 型の値に変換しますが、エラー時には NULL を返します。
サポートされる引数:
- (U)Int* の文字列表現。
NULL を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt64OrNull('0xc0fe');。
入力値を
UInt64 の範囲内で表現できない場合、結果でオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値を表す文字列。String
UInt64 型の値を返します。変換に失敗した場合は NULL を返します。UInt64 または NULL
例
使用例
Query
Response
toUInt64OrZero
toUInt64 と同様に、この関数は入力値を UInt64 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int* の文字列表現。
0 を返します) :
NaNおよびInfを含む、Float* 値の文字列表現。- 2進数および16進数の値の文字列表現。例:
SELECT toUInt64OrZero('0xc0fe');。
入力値が
UInt64 の範囲内で表現できない場合、結果としてオーバーフローまたはアンダーフローが発生します。
これはエラーとは見なされません。x— 数値を表す文字列。String
UInt64 型の値を返します。変換に失敗した場合は 0 を返します。UInt64
例
使用例
Query
Response
toUInt8
UInt8 型の値に変換します。
エラーが発生した場合は例外をスローします。
サポートされる引数:
- (U)Int* 型の値、またはその文字列表現。
- Float* 型の値。
NaNおよびInfを含む、Float* 型の値の文字列表現。- バイナリ値および16進数値の文字列表現。例:
SELECT toUInt8('0xc0fe');。
入力値が UInt8 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。
例:
SELECT toUInt8(256) == 0;。この関数は rounding towards zero を使用します。つまり、数値の小数点以下の桁を切り捨てます。
expr— 数値、または数値を表す文字列を返す式。Expression
UInt8
例
使用例
Query
Response
toUInt8OrDefault
toUInt8 と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラーが発生した場合はデフォルト値を返します。
default 値が渡されない場合、エラー発生時には 0 が返されます。
構文
UInt8
例
変換に成功した場合
Query
Response
Query
Response
toUInt8OrNull
toUInt8 と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラーが発生した場合は NULL を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
NULL を返します):
NaNおよびInfを含む、通常の Float* 型の値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt8OrNull('0xc0fe');。
入力値を
UInt8 の範囲内で表現できない場合、結果のオーバーフローまたはアンダーフローが発生します。
これはエラーとはみなされません。x— 数値を表す文字列。String
UInt8 型の値を返します。変換に失敗した場合は NULL を返します。UInt8 または NULL
例
使用例
Query
Response
toUInt8OrZero
toUInt8 と同様に、この関数は入力値を UInt8 型の値に変換しますが、エラーが発生した場合は 0 を返します。
サポートされる引数:
- (U)Int8/16/32/128/256 の文字列表現。
0 を返します):
NaNおよびInfを含む、通常の Float* 型の値の文字列表現。- 2進数値および16進数値の文字列表現。例:
SELECT toUInt8OrZero('0xc0fe');。
入力値が
UInt8 の範囲内で表現できない場合、結果はオーバーフローまたはアンダーフローします。
これはエラーとは見なされません。x— 数値の文字列表現。String
UInt8 型の値を返します。変換に失敗した場合は 0 を返します。UInt8
例
使用例
Query
Response
toUUID
string— UUID の文字列表現。StringまたはFixedString
UUID
例
使用例
Query
Response
toUUIDOrZero
toUUID と似ていますが、変換エラー時に例外をスローする代わりに、ゼロ UUID (00000000-0000-0000-0000-000000000000) を返します。
サポートされる引数:
- 標準形式 (8-4-4-4-12 桁の16進数) の UUID の文字列表現。
- ハイフンなし (32 桁の16進数) の UUID の文字列表現。
- 無効な文字列形式。
- 文字列以外の型。
x— UUID の文字列表現。String
00000000-0000-0000-0000-000000000000) を返します。UUID
例
使用例
Query
Response
toUnixTimestamp64Micro
DateTime64 を、固定のマイクロ秒精度を持つ Int64 値に変換します。
入力値は、その精度に応じて適切にスケールアップまたはスケールダウンされます。
出力値は入力値のタイムゾーンではなく、UTC を基準とします。
value— 任意の精度を持つ DateTime64 の値。DateTime64
Int64
例
使用例
Query
Response
toUnixTimestamp64Milli
DateTime64 を、固定のミリ秒精度を持つ Int64 値に変換します。
入力値は、その精度に応じて適切にスケールアップまたはスケールダウンされます。
出力値は入力値のタイムゾーンではなく、UTC を基準とします。
value— 任意の精度を持つ DateTime64 値。DateTime64
Int64
例
使用例
Query
Response
toUnixTimestamp64Nano
DateTime64 を、固定のナノ秒精度を持つ Int64 値に変換します。
入力値は、その精度に応じて適切に拡大または縮小されます。
出力値は、入力値のタイムゾーンではなく、UTC を基準にしています。
value— 任意の精度の DateTime64 値。DateTime64
Int64
例
使用例
Query
Response
toUnixTimestamp64Second
DateTime64 を、秒単位の固定精度を持つ Int64 値に変換します。
入力値は、その精度に応じて適切にスケールアップまたはスケールダウンされます。
出力値は、入力値のタイムゾーンではなく、UTC を基準とします。
value— 任意の精度を持つ DateTime64 型の値。DateTime64
Int64
例
使用例
Query
Response