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 | +-------------------------------+
うまくいけば、MySQLでデータを簡単に変換できるようになりました。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。