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フリー実装コード

推薦する

Web スライスとは何ですか?

IE8 の新機能 Web スライス (Web スライス) Microsoft は 3 月 20 日...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

グリーンスタイルのウェブデザイン作品18点の最新コレクション

トイ・ストーリー3 オンラインマーケティングウェブサイトゼンモバイル鉄から鉄へスプラウトファンドバー...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

MySQLのスロークエリの詳細な説明

MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...

Flexレイアウトとスケーリング計算についての簡単な説明

1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...

知らないかもしれない実用的なTypeScriptのヒント

目次序文関数のオーバーロードマッピングタイプ部分的、読み取り専用、Null 可能、必須選択、記録除外...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

Python 仮想環境のインストールとアンインストールの方法と発生する問題

Ubuntu16.04 のインストールとアンインストール pip実験環境Ubuntu 16.04; ...

ElementUIはel-formフォームリセット機能ボタンを実装します

目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...

JavaScript 構造化代入の詳細な説明

目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

HTML チュートリアル: HTML 水平線分

<br />このタグを使用すると、画面上に水平線を表示して、ページのさまざまな部分を区切...

js は、州、市、地区の 3 段階の選択カスケードを実装します。

この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...

JSにおける4つのデータ型判定方法

目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...