変換関数
このページでは、TiDB Cloud Lake の変換関数について、参照しやすいように機能別に整理して包括的に説明します。
型変換関数
数値変換関数
バイナリおよび特殊変換関数
値をある型から別の型に変換する際は、次の点に注意してください。
浮動小数点数、10 進数、または文字列から整数、あるいは小数部を持つ 10 進数に変換する場合、TiDB Cloud Lake は値を最も近い整数に丸めます。これは、数値キャスト操作の動作を制御する設定
numeric_cast_option(デフォルトは 'rounding')によって決まります。numeric_cast_optionを明示的に 'truncating' に設定すると、TiDB Cloud Lake は小数部を切り捨て、端数を破棄します。SELECT CAST('0.6' AS DECIMAL(10, 0)), CAST(0.6 AS DECIMAL(10, 0)), CAST(1.5 AS INT); ┌──────────────────────────────────────────────────────────────────────────────────┐ │ cast('0.6' as decimal(10, 0)) │ cast(0.6 as decimal(10, 0)) │ cast(1.5 as int32) │ ├───────────────────────────────┼─────────────────────────────┼────────────────────┤ │ 1 │ 1 │ 2 │ └──────────────────────────────────────────────────────────────────────────────────┘ SET numeric_cast_option = 'truncating'; SELECT CAST('0.6' AS DECIMAL(10, 0)), CAST(0.6 AS DECIMAL(10, 0)), CAST(1.5 AS INT); ┌──────────────────────────────────────────────────────────────────────────────────┐ │ cast('0.6' as decimal(10, 0)) │ cast(0.6 as decimal(10, 0)) │ cast(1.5 as int32) │ ├───────────────────────────────┼─────────────────────────────┼────────────────────┤ │ 0 │ 0 │ 1 │ └──────────────────────────────────────────────────────────────────────────────────┘次の表は、数値キャスト操作の概要を示したもので、異なるソース数値データ型とターゲット数値データ型の間で可能なキャストをまとめています。なお、String から Integer へのキャストでは、ソース文字列に整数値が含まれている必要があります。
TiDB Cloud Lake では、式をさまざまな日付および時刻形式に変換するための関数も多数提供しています。詳細は、日付・時刻関数 を参照してください。