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

MySQL変換関数

    MySQLでデータを変換したり、MySQLでキャストデータを入力したりする必要がある場合があります。 MySQLCONVERT関数を使用してデータをあるデータ型から別のデータ型に変換する方法は次のとおりです。また、ある文字セットから別の文字セットにデータを変換するためにも使用できます。

    MySQLでデータを変換する方法

    MySQLCONVERT関数を使用してMySQLでデータを変換する手順は次のとおりです。 MySQLCONVERT関数の構文は次のとおりです

    CONVERT(input_value, data_type)
    

    上記の関数では、リテラル文字列または列名としてinput_valueを指定し、このデータを変換するdata_typeを指定する必要があります。 MySQL CASTと同様に、データをBINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNEDのデータ型にキャストできます。

    たとえば、リテラル値を別のデータ型に変換する方法は次のとおりです

    CONVERT(1, char)
    

    列(IDなど)を別のデータ型に変換する方法は次のとおりです

    CONVERT(id, char)
    

    文字セットを変換するためのMySQLCONVERT構文は次のとおりです

    CONVERT(input_value USING character_set)
    

    上記の関数では、リテラル文字列または列名としてinput_valueを指定し、このデータを変換するcharacter_setを指定する必要があります。

    latin1としてキャストする方法の例を次に示します

    mysql> select convert('test string' using 'latin1');
    +---------------------------------------+
    | convert('test string' using 'latin1') |
    +---------------------------------------+
    | test string                           |
    +---------------------------------------+
    

    ボーナスリード:MySQLでキャストを入力する方法

    MySQLCONVERTの例

    MySQLCONVERT関数の例をいくつか見てみましょう。

    MySQLCONVERT文字列から現在まで

    文字列を日付に変換する方法は次のとおりです

    mysql> select convert('2020-08-01',date);
    +----------------------------+
    | convert('2020-08-01',date) |
    +----------------------------+
    | 2020-08-01                 |
    +----------------------------+
    

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

    MySQLCONVERT文字列から10進数へ

    文字列を10進数に変換する方法は次のとおりです

    mysql> select convert('1.234',decimal(4,3));
    +-------------------------------+
    | convert('1.234',decimal(4,3)) |
    +-------------------------------+
    | 1.234                         |
    +-------------------------------+
    

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

    MySQLCONVERT文字列をDoubleに変換

    MySQLはdoubleデータ型への変換をサポートしていません。文字列を10進数に変換する必要があります。

    mysql> select convert('2.134',decimal(4,3));
    +-------------------------------+
    | convert('2.134',decimal(4,3)) |
    +-------------------------------+
    | 2.134                         |
    +-------------------------------+
    

    MySQLCONVERT文字列からフロートへ

    繰り返しますが、MySQLは浮動小数点データ型への変換をサポートしていません。文字列を10進数に変換する必要があります。

    mysql> select convert('2.134',decimal(4,3));
    +-------------------------------+
    | convert('2.134',decimal(4,3)) |
    +-------------------------------+
    | 2.134                         |
    +-------------------------------+
    

    ボーナスリード:MySQLで外部キーチェックを無効にする方法

    MySQLCONVERT文字列からint

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

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

    MySQLCONVERT日時から現在まで

    日時を日付に変換する方法は次のとおりです。タイムスタンプを日付に変換するためにも使用できます。

    mysql> select convert('2020-08-01 13:00:00',date);
    +-------------------------------------+
    | convert('2020-08-01 13:00:00',date) |
    +-------------------------------------+
    | 2020-08-01                          |
    +-------------------------------------+
    

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

    MySQL CONVERT Blob to Text

    MySQL CONVERTは、テキストデータ型への変換をサポートしていません。ブログをcharに変換する必要があります。小さなblobをcharに変換するサンプルを次に示します。

    mysql> select convert('wewewwbwbddwg',char);
    +-------------------------------+
    | convert('wewewwbwbddwg',char) |
    +-------------------------------+
    | wewewwbwbddwg                 |
    +-------------------------------+
    

    うまくいけば、My​​SQLでデータを簡単に変換できるようになりました。

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

    1. MYSQLのより高いLIMITオフセットがクエリを遅くするのはなぜですか?

    2. SQL ServerでのCOUNT()のしくみ

    3. PgBouncer 1.7 –「復活後に色が変わる」

    4. 修正:「演算子が存在しません:整数|| PostgreSQLの「整数」