私はmacaddress
列を持つmysqlデータベースを持っています。これには、さまざまな形式の何千ものMACアドレスが含まれています。大文字、小文字、コロン付き。例については、以下を参照してください。
+-------------------+
| macaddress |
+-------------------+
| 90CCAADD3341 |
+-------------------+
| 90:3f:ff:11:22:33 |
+-------------------+
| 33:44:aa:bb:34:6a |
+-------------------+
| 8801abcd3231 |
+-------------------+
この列のすべての行を一括更新して同じ形式にする方法はありますか?
コロンを付けずにすべて大文字にしてください。以下を参照してください。
+--------------+
| macaddress |
+--------------+
| 90CCAADD3341 |
+--------------+
| 903FFF112233 |
+--------------+
| 3344AABB346A |
+--------------+
| 8801ABCD3231 |
+--------------+
どうすればこれを達成できますか?
テスト選択:
select macaddress, upper(replace(macaddress,':','')) as new_macaddress
from Macs;
更新:
update macs
set macaddress = upper(replace(macaddress,':',''));
テストデータ:
create table macs
(
macaddress varchar(20)
);
insert into macs values('90CCAADD3341');
insert into macs values('90:3f:ff:11:22:33');
insert into macs values('33:44:aa:bb:34:6a');
insert into macs values('8801abcd3231');
ドキュメントのリンク: