MYSQL 演算子の概要

MYSQL 演算子の概要

1. 算術演算子

MySQL は次の算術演算子をサポートしています。

オペレーター
効果
+
追加
-
減算
*
乗算
/,DIV
割り算、商を返す
%,MOD
割り算、余りを返す

例1: +、-、*、/、%、

mysql> 0.1+0.333,0.1-0.333,0.1*0.333,1/2,1%2 を選択します。
+-----------+------------+-----------+--------+-------+
| 0.1+0.333 | 0.1-0.333 | 0.1*0.333 | 1/2 | 1%2 |
+-----------+------------+-----------+--------+-------+
| 0.433 | -0.233 | 0.0333 | 0.5000 | 1 |
+-----------+------------+-----------+--------+-------+
セット内の1行(0.05秒)

例2:除算演算で除数が0の場合、 NULLが返されます。

mysql> 1/0 を選択します。
+------+
| 1/0 |
+------+
| NULL |
+------+
セット内の 1 行 (0.00 秒)

例3:モジュラー演算の別の形式MOD (a,b)はa%bと同じである。

mysql> 1%2、mod(1,2) を選択します。
+------+----------+
| 1%2 | mod(1,2) |
+------+----------+
| 1 | 1 |
+------+----------+
セット内の 1 行 (0.00 秒)
 

2. 比較演算子

MySQL でサポートされている比較演算子:

オペレーター
効果
=
等しい
<> または !=
等しくない
<=>
NULL セーフ
<
未満
<=
以下
>
より大きい
>=
より大きいか等しい
存在と指定範囲
指定されたコレクションに存在する
NULLです
NULLです
NULLではない
NULLではない
のように
ワイルドカードマッチング
REGEXP または RLIKE
正規表現マッチング

例 1:<> 」は「 = 」の逆です。2 つの演算が等しくない場合は 1 が返され、等しければ 0 が返されます。「 NULL 」は「 <> 」の比較には使用できません。

mysql> 1<>0,1<>1,null<>null を選択します。
+------+------+------------+
| 1<>0 | 1<>1 | null<>null |
+------+------+------------+
| 1 | 0 | NULL |
+------+------+------------+
セット内の 1 行 (0.00 秒)

例 2:<=> 」安全等価演算子は、「 = 」演算と同じように 1 を返しますが、「 <=> 」は値がnullの場合にも比較を実行できる点が異なります。

mysql> 1<=>1,1<=>0,null<=>null を選択します。
+-------+-------+-------------+
| 1<=>1 | 1<=>0 | null<=>null |
+-------+-------+-------------+
| 1 | 0 | 1 |
+-------+-------+-------------+
セット内の1行(0.02秒)


例3:< ”は左辺が右辺より小さい場合に1を返します

mysql> 'a'<'b'、'A'<'b'、'bdf'<'c'、1<2 を選択します。
+---------+----------+----------+-----+
| 'a'<'b' | 'A'<'b' | 'bdf'<'c' | 1<2 |
+---------+----------+----------+-----+
| 1 | 1 | 1 | 1 |
+---------+----------+----------+-----+
セット内の1行(0.02秒)

例4: between 、形式は「 a BETWEEN min AND max 」です。つまり、 a がmin以上かつmax以下の場合は 1 を返し、それ以外の場合は 0 を返します。

mysql> 10 から 20 の間で 10、10 から 20 の間で 9 を選択します。
+----------------------+---------------------+
| 10 から 20 まで 10 | 10 から 20 まで 9 |
+----------------------+---------------------+
| 1 | 0 |
+----------------------+---------------------+
セット内の1行(0.01秒)

例5: regexp 、形式は「 str REGEXP str_pat 」です。これは、文字列 str にstr_patに一致する文字列が含まれている場合は 1 を返し、そうでない場合は 0 を返すことを意味します。

mysql> 'abcdeef' 正規表現 'ab'、'abcdef' 正規表現 'g'、'abcedf' 正規表現 'df' を選択します。
+----------------------+---------------------+----------------------+
| 'abcdeef' 正規表現 'ab' | 'abcdef' 正規表現 'g' | 'abcedf' 正規表現 'df' |
+----------------------+---------------------+----------------------+
| 1 | 0 | 1 |
+----------------------+---------------------+----------------------+
セット内の1行(0.01秒)


残りは使い方が簡単なので、構文だけを示し、例は書きません。

  • in 、形式は「 a IN (value1,value2,…) 」を使用します。
  • IS NULL 、形式は「 a IS NULL
  • IS NOT NULL 、形式は「 a IS NOT NULL
  • LIKE 、形式は「 a LIKE %123%

3. 論理演算子

MySQL の論理演算子:

オペレーター
効果
または !
論理否定
AND または &&
論理積
またはまたは||
論理和
排他的論理和
論理排他的論理和

例 1: 「「 NOT 」または「 "は論理否定を表します。オペランドの反対の結果を返します。オペランドが0の場合は1を返し、オペランドが1の場合は0を返しますが、NOT NLLL nullを返します。

mysql> 0 でない、!0 でない、1 でない、null でないを選択します。
+-------+----+--------+----------+
| 0 以外 | !0 | 1 以外 | null 以外 |
+-------+----+--------+----------+
| 1 | 1 | 0 | NULL |
+-------+----+--------+----------+
セット内の 1 行 (0.00 秒)

例 2:AND 」と「 && 」は論理 AND 演算を表します。両方のオペランドがゼロ以外の値の場合、結果は 1 になり、それ以外の場合は 0 を返します。オペランドのいずれかが NULL の場合、値の 1 つが 0 であれば 0 を返します。他の値が 0 より大きくNULLがある場合はNULL

mysql> (1 かつ 1)、(0 かつ 1)、(3 かつ 1)、(0 かつ null)、(1 かつ null) を選択します。
+-----------+-----------+------------+--------------+--------------+
| (1 と 1) | (0 と 1) | (3 と 1) | (0 と null) | (1 と null) |
+-----------+-----------+------------+--------------+--------------+
| 1 | 0 | 1 | 0 | NULL |
+-----------+------------+------------+--------------+--------------+
セット内の 1 行 (0.00 秒)
mysql> 1とNULLと0を選択します。
+------------------+
| 1 と NULL と 0 |
+------------------+
| 0 |
+------------------+
セット内の 1 行 (0.00 秒)

mysql> 1とNULLと3を選択します。
+------------------+
| 1 と NULL と 3 |
+------------------+
| NULL |
+------------------+
セット内の 1 行 (0.00 秒)

例 3:OR 」または「 || 」は論理 OR 演算を表します。両方のオペランドが NULL でない場合、どちらかのオペランドがゼロでなければ結果は 1、そうでなければ 0 になります。一方のオペランドが NULL の場合、もう一方のオペランドがゼロでなければ結果は 1、そうでなければ結果は NULL になります。

mysql> (1 または 0)、(0 または 0)、(1 または NULL)、(0 または NULL)、(NULL または NULL); を選択します。
+----------+-----------+-------------+-------------+----------------+
| (1 または 0) | (0 または 0) | (1 または NULL) | (0 または NULL) | (NULL または NULL) |
+----------+-----------+-------------+-------------+----------------+
| 1 | 0 | 1 | NULL | NULL |
+----------+-----------+-------------+-------------+----------------+
セット内の 1 行 (0.00 秒)


例 4: XOR論理排他的論理和を意味します。いずれかのオペランドが NULL の場合、戻り値は NULL になります。 NULL 以外のオペランドの場合、2 つの論理真理値が異なる場合は結果は 1 になり、それ以外の場合は 0 を返します。

mysql> (0 xor 0)、(1 xor 0)、(1 xor 1)、(1 xor null)、(0 xor null)、(null xor null) を選択します。
+-----------+-----------+------------+--------------+--------------+----------------+
| (0 xor 0) | (1 xor 0) | (1 xor 1) | (1 xor null) | (0 xor null) | (null xor null) |
+-----------+-----------+------------+--------------+--------------+----------------+
| 0 | 1 | 0 | NULL | NULL | NULL |
+-----------+-----------+------------+--------------+--------------+----------------+
セット内の 1 行 (0.00 秒)
 

4. ビット演算子

MySQL は次のビット演算子をサポートしています。

オペレーター
効果
ビットAND
|
ビットOR
^
ビット排他的論理和 (ビット XOR)
ビット反転
>>
ビット右シフト
<<
ビット左シフト

例 1: 「ビット AND」は、複数のオペランドのバイナリ ビットに対して論理 AND 演算を実行します。 2&3の場合、2の2進数は10、3の2進数は11です。AND演算を行うと、結果は10のままで、10進数に変換すると2になります。

mysql> 2と3を選択します。
+-----+
| 2&3 |
+-----+
| 2 |
+-----+
セット内の1行(0.01秒)


例 2: 「ビット OR」は、複数のオペランドのバイナリ ビットに対して論理 OR 演算を実行します。 2&3の場合、2の2進数は10、3の2進数は11です。AND演算を行うと結果は11になり、10進数に変換すると3になります。

mysql> 2|3 を選択します。
+-----+
| 2|3 |
+-----+
| 3 |
+-----+
セット内の 1 行 (0.00 秒)


例 3:位異或」は、複数のオペランドのバイナリ ビットに対して XOR 演算を実行します。 2^3、2の2進数は10、3の2進数は11、10^11は01、10進数に変換すると1になる。

mysql> 2^3 を選択します。
+-----+
| 2^3 |
+-----+
| 1 |
+-----+
セット内の1行(0.01秒)

例 4: 「ビット反転」は、オペランドのバイナリ ビットに対して NOT 演算を実行します。ここで、オペランドは 1 ビットのみになります。説明: MySQL では、定数はデフォルトで 8 バイトで表され、8 バイトは 64 ビットです。定数 1 のバイナリは 63 個の 0 と 1 個の 1 です。ビット反転後、63 個の 1 と 1 個の 0 になります。バイナリに変換すると、18446744073709551614 になります。

mysql> ~1、~18446744073709551614 を選択
    -> ;
+----------------------+-----------------------+
| ~1 | ~18446744073709551614 |
+----------------------+-----------------------+
| 18446744073709551614 | 1 |
+----------------------+-----------------------+
セット内の1行(0.01秒)
mysql> bin(18446744073709551614) を選択します。
+----------------------------------------------------------------------------------+
| ビン(18446744073709551614) |
+----------------------------------------------------------------------------------+
| 11111111111111111111111111111111111111111111111111111111111111111111110 |
+----------------------------------------------------------------------------------+
セット内の1行(0.03秒)

例 5: 「ビット右シフト」は、左オペランドをオペランドで指定されたビット数だけ右に移動します。たとえば、100>>3 の場合、2 進数 100 0001100100 は 3 ビット右にシフトされ、0000001100 となり、2 進数では 12 に変換されます。

mysql> 100>>3 を選択します。
+--------+
| 100>>3 |
+--------+
| 12 |
+--------+
セット内の 1 行 (0.00 秒)

例 6: 「ビット単位の左シフト」は、左オペランドをオペランドで指定されたビット数だけ左にシフトします。たとえば、100<<3 の場合、2 進数 100 0001100100000 は 3 ビット右にシフトされ、1100100000000 となり、2 進数 800 に変換されます。

mysql> 100<<3 を選択します。
+--------+
| 100<<3 |
+--------+
| 800 |
+--------+
セット内の 1 行 (0.00 秒)

5. 演算子の優先順位

MySQL における演算子の優先順位:

優先順位
オペレーター
1
:=
2
||、OR、XOR
3
&&、 そして
4
ない
5
BETWEEN、CASE、WHEN、THEN、ELSE の場合
6
=、<=>、>=、>、<=、<、<>、!=、IS、LIKE、REGEXP、IN
7
|
8
9
<<、>>
10
-、+
11
*、/、DIV、%、MOD
12
^
13
- (単項マイナス)、~ (単項ビット反転)
14

MYSQL演算子の概要に関するこの記事はこれで終わりです。より関連性の高いMYSQL演算子のコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。皆様、今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL <> および <=> 演算子の紹介
  • MySQLの比較演算子正規表現マッチングREGEXPの使用の詳細な説明
  • MySql における特殊演算子の使用の概要
  • MySQLでよく使われる演算子と関数の概要
  • MySQL ノート — SQL 演算子

<<:  JavaScript はモーダルボックスのドラッグ効果を実現します

>>:  ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

推薦する

ブラウザがクロージャをどのように認識するかについて詳しく説明します

目次序文クロージャの紹介メモリのゴミを識別する方法クロージャのメモリ表現結論序文クロージャは、Jav...

CSS プロパティ *-gradient の実用的な価値を探る

まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...

Docker イメージのダウンロードが遅すぎる場合の解決策

Docker イメージのダウンロードが停止したり、遅すぎたりするネットでいろいろな方法を検索しました...

Linux カーネル デバイス ドライバー カーネル リンク リストの使用上の注意

/******************** * カーネルにおけるリンクリストの応用********...

要素UIポップアップコンポーネントをカプセル化する手順

el-dialogをコンポーネントとしてカプセル化するelement-ui を使用する場合、ポップア...

MySQL 8.0.22 winx64 のインストールと設定のグラフィックチュートリアル

mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...

MySQL 5.7 および 8.0 データベースのルート パスワードを忘れた場合の解決策

注: MySQL5.7 で root パスワードをクラックするには、パスワード認証をスキップしてデー...

弾力性のあるナビゲーション効果を実現するJavaScript

この記事では、弾性ナビゲーション効果を実現するためのJavaScriptの具体的なコードを参考までに...

Vueは書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

JavaScript デザインパターン コマンドパターン

コマンド パターンは、JavaScript デザイン パターンにおける動作デザイン パターンです。定...

Linux 時間サブシステムの時間表現例の詳細な説明

序文Linux カーネルでは、元のコードとの互換性を保つため、または特定の仕様に準拠するため、また現...

JavaScript キャンバスで動的な点と線の効果を実現

この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...

Linux 上の Vim で色とテーマを変更する方法

Vim は Linux でよく使用されるテキスト エディターです。 Vim は、Sublime や ...

HTMLチェックボックス説明テキストをクリックして状態を選択/チェック解除します

Web 開発では、チェックボックスは小さく、ユーザーにとって操作があまり便利ではないため、ユーザーが...

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...