sql >> データベース >  >> RDS >> Mysql

MySQL CAST –MySQLでCastを入力する方法

    場合によっては、MySQLデータをあるデータ型から別のデータ型にキャストする必要があります。 MySQLCAST関数を使用してデータを型キャストする方法は次のとおりです。

    MySQLでCastを入力する方法

    MySQL CASTがどのように機能するか、およびMySQLCAST関数を使用してデータを型キャストする方法を見ていきます。

    MySQLCAST関数の構文は次のとおりです

    CAST(data as data_type)
    

    MySQL CASTには、タイプキャストされるデータと、このデータを変換するデータ型(decimal、charなど)の2つの入力が必要です。データをBINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNEDのデータ型にキャストできます。

    以下に示すように、データをリテラル値として提供できます

    CAST(1 as char)
    

    または

    列名(IDなど)としてデータ化できます

    CAST(id as char)
    

    ボーナス読み取り:MySQLロールバッククエリ

    これは、SELECT句でintをcharにキャストするサンプルSQLクエリです

    mysql> select cast(1 as char)
    from sales;
    

    WHERE句でMySQLCASTを使用することもできます。ここでは、WHERE句で文字列をintに変換します。

    mysql> select *
    from sales
    where id=CAST('213' as int);
    

    ボーナスリード:MySQLロールアップクエリの使用方法

    MySQLCASTの例

    MySQLCAST関数の一般的な例をいくつか見てみましょう。

    IntとしてのMySQLCAST

    これは、MySQLがfloatを符号付き整数にキャストする例です。 UNSIGNEDまたはSIGNED整数データ型にのみキャストできることに注意してください。 CAST関数ではINTを使用できません。

    mysql> select cast(1.23 as signed);
    +------------------------+
    | cast(1.23 as   signed) |
    +------------------------+
    |                      1 |
    +------------------------+
    

    10進数としてのMySQLCAST

    10進数としてキャストする方法は次のとおりです

    mysql> select cast(1.23 as decimal(4,3));
    +----------------------------+
    | cast(1.23 as decimal(4,3)) |
    +----------------------------+
    |                      1.230 |
    +----------------------------+
    

    ボーナスリード:MySQLバージョンを確認する方法

    フロートとしてのMySQLCAST

    MySQLCASTはfloatとしてのキャストをサポートしていません。上記のように10進数でキャストする必要があります。

    mysql> select cast(2.234 as decimal(5,3));
    +-----------------------------+
    | cast(2.234 as decimal(5,3)) |
    +-----------------------------+
    |                       2.234 |
    +-----------------------------+
    

    MySQL Cast as Varchar

    MySQL CASTは、varcharとしてのキャストをサポートしていません。以下に示すように、charとしてキャストする必要があります。

    mysql> select cast('xyz' as char);
    +---------------------+
    | cast('xyz' as char) |
    +---------------------+
    | xyz                 |
    +---------------------+
    

    MySQL日時から現在まで

    日時を現在までにキャストする方法は次のとおりです。

    mysql> select cast('2020-01-01 13:30:00' as date);
    +-------------------------------------+
    | cast('2020-01-01 13:30:00' as date) |
    +-------------------------------------+
    | 2020-01-01                          |
    +-------------------------------------+
    

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. PostgreSQLで特定のテーブルのすべてのトリガーを一覧表示する3つの方法

    2. to_sqlpyodbcカウントフィールドが正しくないか構文エラー

    3. SQLiteでテーブルを作成する

    4. 未定義の関数mysql_connect()