MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで数値をBINARY(2進数)リテラルとして記述する方法

MySQLでは、数値をBINARY(2進数)リテラルとして入力する方法が2つあります。それぞれの書き方と動作について解説します。

接頭辞「B」を使う方法

この方法では、2進数の値をシングルクォート(')で囲み、その前に接頭辞「B」を付けます。こうして記述されたBINARY文字列は、式のコンテキストに基づいて自動的に数値へと変換されます。

mysql> Select B'1110'+0;
+-----------+
| B'1110'+0 |
+-----------+
|        14 |
+-----------+
1 row in set (0.00 sec)

上の例では、2進数の「1110」が10進数の「14」に変換され、数値演算(+0)の結果として返されていることがわかります。

接頭辞「0b」を使う方法

この方法では、2進数の値をクォートで囲まずに記述し、その前に接頭辞「0b」を付けます。この場合も、BINARY文字列は式のコンテキストに基づいて自動的に数値へ変換されます。

mysql> Select 0b1110+0;
+----------+
| 0b1110+0 |
+----------+
|       14 |
+----------+
1 row in set (0.00 sec)

こちらも同様に、「0b1110」は10進数の「14」として評価されます。

両者の違いと使い分け

「B'1110'」のように引用符付きで記述する方法は、文字列リテラルとして明示的に扱いたい場合に便利です。一方、「0b1110」のように引用符なしで記述する方法は、より簡潔に書けるため、ビット演算やフラグ管理などで頻繁に利用されます。どちらの方法でも結果は同じになるため、可読性やコーディング規約に応じて使い分けるとよいでしょう。

  1. 【MySQL】ブール値(BOOLEAN)をUPDATE文で更新する方法を実例付きで解説

    MySQLでは、UPDATEコマンドを使ってブール値を簡単に更新できます。BOOLEANデータ型を定義しても、MySQLは内部的にtinyint(1)へ変換して扱う点に注意が必要です。また、trueやfalseといったリテラルも使用でき、trueは「1」、falseは「0」としてtinyint(1)に格納されます。 ブール値を更新する基本構文 ブール値の更新には、通常のUPDATE文と同じ構文を使用します。 UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition; サンプルテーブルの作成 それでは、実際にテ

  2. MySQLで日付ごとの合計値を集計する方法【GROUP BY活用術】

    MySQLでは、datetime型の日付データを日ごとにグループ化し、数値の合計を求めることができます。本記事では、サンプルテーブルを作成し、DATE()関数とGROUP BY句、SUM()関数を組み合わせて日付ごとの合計を集計する手順を解説します。1. サンプルテーブルの作成まず、datetime型のカラムと、日数(カウント)を格納するint型のカラムを持つテーブルを作成します。mysql> create table DemoTable ( ShippingDate datetime, CountOfDate int ); Query OK, 0 rows affect