ホームページ  >  記事  >  データベース  >  MySQL 学習シリーズ 4: 演算子

MySQL 学習シリーズ 4: 演算子

黄舟
黄舟オリジナル
2016-12-28 17:42:56983ブラウズ

MYSQL には多くの演算子があります。このセクションでは主に MYSQL にはあるが SQLSERVER には含まれていない演算子について説明します

安全な等号演算子 ()

この演算子は = 演算子演算と同じ比較を実行します。 を使用して NULL 値を決定できます。

両方のオペランドが NULL の場合、戻り値は NULL ではなく 1 になります。

一方のオペランドが NULL の場合、戻り値は NULL ではなく 0 になります。

以下は SELECT NULL 1 SELECT 10 SELECT NULL NULL の実行結果です

両方のオペランドが NULL の場合、戻り値は Is NULL ではなく 1 になります。

MySQL 学習シリーズ 4: 演算子

MySQL 学習シリーズ 4: 演算子

MySQL 学習シリーズ 4: 演算子

LEAST演算子

構文形式は次のとおりです: LEAST (値1、値2、...値n)、値nはパラメータリストにn個の値があることを意味します。引数が2つ以上の場合は最小値を返します。

独立変数が NULL の場合、LEAST() の戻り値は NULL になります

LEAST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。

MySQL 学習シリーズ 4: 演算子

結果からわかるように、パラメータが整数である場合、またはパラメータが浮動小数点数の場合、LEAST は最小値を返します

パラメータが文字列の場合、アルファベットの最上位の文字が返されます

比較値リスト、サイズは決定できず、戻り値は NULL です

GREATEST 演算子

構文形式は次のとおりです: GREATEST(value 1, value 2,...value n)、ここで、n は n 個あることを意味しますパラメータリストの値。

2つ以上のパラメータがある場合は、最大値を返します。

独立変数が NULL の場合、GREATEST() の戻り値は NULL になります

GREATEST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。

MySQL 学習シリーズ 4: 演算子

結果からわかるように、パラメータが整数であるか、パラメータが浮動小数点数の場合、GREATEST は最大値を返します。

パラメータが文字列の場合、比較に NULL がある場合は、アルファベット順の最後の文字が返されます。値リスト、サイズは決定できず、戻り値は NULL です

REGEXP 演算子

SQLSERVER には、この点に関しては確かに比較的完全な関数や演算子がありません

構文は文字列を照合するために使用されます。形式は次のとおりです: expr REGEXP 一致条件。 expr が一致条件を満たしている場合は 1 を返します。

満たされていない場合は 0 を返します。

expr または一致条件のいずれかが NULL の場合、結果は NULL になります

一般的に使用されるいくつかの条件ワイルドカード:

(1) '^' はこの文字に続く文字に一致します

(2) '$' はこの文字に続く文字で終わる文字列に一致します

(3) '.' は任意の文字に一致します単一文字

(4) '[...]' は、角括弧内の任意の文字と一致します。たとえば、「[abc]」は a、b、または c に一致します。

文字の範囲には「-」を使用でき、「[a-z]」は任意の文字に一致し、「[0-9]」は任意の数字に一致します

(5) 「*」はその前にある 0 個以上の文字に一致します。たとえば、「x*」は任意の数の「*」文字に一致し、「[0-9]*」は任意の数の数字に一致し、

および「.*」は任意の数の任意の文字に一致します。

REGEXP 演算子を使用して文字列一致操作を実行します。 SQL ステートメントは次のとおりです。

MySQL 学習シリーズ 4: 演算子 結果からわかるように、指定された一致文字列は ssky です。

'^s' は、文字 s で始まる任意の文字列と一致することを意味するため、一致条件が満たされ、1 が返されます。

'y$' は、文字 y で終わる任意の文字列を意味するため、一致条件が満たされます。 1 が返されます;

'.sky' は、sky で終わる文字列の長さが 4 である文字列と一致することを意味し、一致条件が満たされ、1 が返されます。文字 s は、一致条件が満たされるため、1 を返します。

'[ab]' は、文字 a または b を含む文字列と一致することを意味します。指定された文字列には文字 a または文字 b がないため、一致条件は満たされません。満たされた場合、0 が返されます。

ヒント: 正規表現 式は、LIKE 文字列一致と比較して、より多くのワイルドカード タイプを使用できる強力なツールです。

クエリ結果はより柔軟です。

論理演算子

論理AND演算子: AND または &&

論理OR演算子: OR または ||

上記の 2 つの演算子については説明しません

SQLSERVER では、AND 演算子は AND または & ;OR 演算子OR または |

http://sqlfool.com/2009/02/bitwise-operations/





排他的論理和演算子: ;

一方が0でもう一方が0以外の場合、戻り結果は1になります

論理判定には排他的論理和演算子XORを使用します

MySQL 学習シリーズ 4: 演算子ことができます。結果から参照 '1 '0 の演算子の両側のオペランド 0 以外の値の場合、戻り結果は 1 になります。

'1 XOR NULL' には NULL であるオペランドが 1 つあり、戻り結果は NULL です。

「1 XOR 1 XOR 1」には複数のオペランドがあり、演算子は同じなので、演算子は左から右に計算され、「1 XOR 1」の結果は 0 となり、1 と XOR 演算が実行されます。したがって、結果は 1 になります。

ヒント: シンボルの計算は、バイナリ バイト内のビットのテスト、シフト、またはテストに使用されます。MYSQL で提供されるビット演算には、

ビットごとの OR (|)

ビットごとの AND (&)

ビットごとの XOR が含まれます。 (^)

ビット単位で左シフト (
ビット単位で右シフト (>>)

ビット単位反転 (~): すべてのビットを反転します

ヒント: BIN() =binary 関数チェックを使用できます10 進数のバイナリ表現

たとえば、数値 20 SELECT BIN(20)

バイナリ表現は次のとおりです: 10100




同様に、sqlserver にもビット単位の演算子がありますが、次のように mysql ほど多くはありません。




特別なヒント

MYSQL の一部の特殊文字は、データベースに挿入する前にエスケープ文字にする必要があります。そうしないと、予期しない結果が発生します。

次の特殊文字は、入力時にバックスラッシュで始める必要がありますMySQL 学習シリーズ 4: 演算子

一重引用符を入力してください: '

二重引用符を入力してください: "

MySQL 学習シリーズ 4: 演算子バックスラッシュを入力してください: \

キャリッジリターンを入力してください: r

改行文字を入力してください: n

タブ文字を入力してください: tab

バックスペース文字を入力してください: b

これらの特殊文字をデータベースに挿入する前に必ずエスケープしてください

SQLSERVER では、これらの特殊文字は前に追加されません バックスラッシュの代わりに一重引用符 ' を追加してください

たとえば、一重引用符を挿入し、バックスラッシュを追加すると、挿入は成功します




概要

このセクションでは、MYSQL のいくつかの演算子と特殊文字を簡単に紹介し、SQLSERVER との違いを比較します

上記は次のとおりです。 MySQL 学習シリーズ 4: 演算子の内容 その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。