MySQL CAST() 関数
CAST 関数は、以下に示すように単純な構文に従います。
キャスト ( 式 なので タイプ [ 配列 ] ) ;この関数は、式とターゲット データ型をパラメーターとして受け入れます。次に、値を指定されたターゲット データ型に変換し、式を返します。
この関数は、入力式を、BINARY、CHAR、DATE、DATETIME、DECIMAL、DOUBLE、FLOAT、NCHAR、UNSIGNED、SIGNED、REAL など、サポートされているさまざまなデータ型に変換できます。
例 1: MySQL CAST() 関数
MySQL でのキャスト関数の使用例をいくつか見てみましょう。
選択する キャスト ( 100 なので チャー ) なので アウト_;
前の例では、CAST() 関数を使用して int 型を文字列に変換しています。
出力:
アウト_ | |--+
100 | |
例 2
次の例に示すように、CAST() 関数を使用して値を日付型に変換することもできます。
選択する キャスト ( 「2022-10-10」 なので 日にち ) なので アウト_;結果の値を以下に示します。
アウト_ | |----------+
2022年 - 10 - 10 | |
値は正しい形式に従う必要があり、指定された型に変換できることに注意してください。たとえば、正しくない日付値をキャスト関数に変換しようとすると、NULL が返されます。
以下に例を示します。
選択する キャスト ( 「2022 年 10 月 10 日」 なので 日にち ) なので アウト_;この場合、以前の形式は正しくない日付形式に従っています。以下に示すように、MySQL はエラーを返します。
日時の値が正しくありません: 「2022 年 10 月 10 日」場合によっては、MySQL は NULL 値を返します。
例 3: 文字列を Int に変換する
次の例に示すように、特定の文字列型を int に変換することもできます。
選択する キャスト ( '100' なので 小数 ) なので アウト_;出力:
アウト_ | |--+
100 | |
例 4: 文字列を浮動小数点数に変換する
選択する キャスト ( 「100.2」 なので 浮く ) なので アウト_;出力:
アウト_ | |------+
100.2 | |
例 5: 表の列で CAST() 関数を使用する
テーブル列で CAST() 関数を使用することもできます。たとえば、次のようなテーブルがあるとします。
次のクエリに示すように、CONCAT() および CAST() 関数を使用して、installed_version 列の値を変換できます。
選択する 連結 ( サーバー名、 ' - ' 、キャスト ( installed_version なので チャー ) stack_mapping sm から;結果のテーブル:
連結 ( サーバー名、 ' - ' 、installed_version ) | |--------------------------------------------+
SQLサーバー - 15.0 | |
エラスティックサーチ - 8.4 | |
レディス - 6.0 | |
PostgreSQL - 14.5 | |
MySQL - 8.0 | |
結論
このチュートリアルでは、CAST() 関数を使用して値をある型から別の型に変換する基本を説明しました。 String から Int への変換と String から Float への変換を強調するために、いくつかの例が提供されています。