MySQLでバイト値をメガバイト(MB)に変換する方法
MySQLでは、バイト単位の数値をメガバイト(MB)に変換したい場面がよくあります。本記事では、BIGINT型のカラムに格納されたバイト値を、シンプルな除算によってMBに換算する方法を解説します。
ここでは8バイトの符号付き整数を扱えるBIGINT型を採用しています。まずは、BIGINT型のカラムを持つテーブルを作成しましょう。
mysql> create table DemoTable2031
-> (
-> ByteValue bigint
-> );
Query OK, 0 rows affected (1.17 sec)
サンプルデータの挿入
次に、INSERTコマンドを使ってテーブルにレコードを挿入します。ここでは「1048576」(1MB相当)と「1073741824」(1GB相当)の2つの値を登録します。
mysql> insert into DemoTable2031 values(1048576);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable2031 values(1073741824);
Query OK, 1 row affected (0.13 sec)
登録データの確認
SELECT文ですべてのレコードを表示して確認してみましょう。
mysql> select *from DemoTable2031;
このクエリを実行すると、以下のような結果が出力されます。
+------------+
| ByteValue |
+------------+
| 1048576 |
| 1073741824 |
+------------+
2 rows in set (0.00 sec)
バイト値をメガバイト(MB)に変換するクエリ
バイト値をメガバイト(MB)に変換するには、値を1024×1024(=1,048,576)で割ります。以下がそのクエリです。
mysql> select (ByteValue/(1024*1024)) as MB from DemoTable2031;
実行結果は次のとおりです。
+-----------+
| MB |
+-----------+
| 1.0000 |
| 1024.0000 |
+-----------+
2 rows in set (0.00 sec)
このように、1048576バイトは「1.0000 MB」、1073741824バイトは「1024.0000 MB」と正しく変換されていることがわかります。同様の考え方で、キロバイト(KB)なら1024で割り、ギガバイト(GB)なら1024×1024×1024で割ることで、さまざまな単位への換算が可能です。
-
MySQLで列の値をシャッフルする方法【ORDER BY RAND()の使い方】
MySQLでテーブル内のレコード(列の値)をランダムに並べ替えたい場合は、ORDER BY RAND()を使用します。この記事では、実際にテーブルを作成し、データを挿入して、シャッフルの動作を手順ごとに確認していきましょう。 1. テーブルの作成 まず、以下のコマンドでサンプル用のテーブルを作成します。 mysql> create table DemoTable1557 -> ( -> SubjectId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> SubjectName varchar(20) -&
-
MySQLでNULL値を1として表示・更新する方法
MySQLでは、テーブル内のNULL値を別の値(たとえば「1」)に置き換えて扱いたい場面があります。この記事では、IFNULL関数とUPDATE文を組み合わせて、NULL値を1に変換する具体的な手順をサンプルコード付きで解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable1963 ( Counter int ); Query OK, 0 rows affected (0.00 sec) 2. レコードを挿入する INSERT文を使って、NULLを含む複数のレコードを