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