ホームページ >データベース >mysql チュートリアル >MySQL 学習シリーズ 4: 演算子
MYSQL には多くの演算子があります。このセクションでは主に MYSQL にはあるが SQLSERVER には含まれていない演算子について説明します
安全な等号演算子 ()
この演算子は = 演算子演算と同じ比較を実行します。 を使用して NULL 値を決定できます。
両方のオペランドが NULL の場合、戻り値は NULL ではなく 1 になります。
一方のオペランドが NULL の場合、戻り値は NULL ではなく 0 になります。
以下は SELECT NULL 1 SELECT 10 SELECT NULL NULL の実行結果です
両方のオペランドが NULL の場合、戻り値は Is NULL ではなく 1 になります。
LEAST演算子
構文形式は次のとおりです: LEAST (値1、値2、...値n)、値nはパラメータリストにn個の値があることを意味します。引数が2つ以上の場合は最小値を返します。
独立変数が NULL の場合、LEAST() の戻り値は NULL になります
LEAST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。
結果からわかるように、パラメータが整数である場合、またはパラメータが浮動小数点数の場合、LEAST は最小値を返します
パラメータが文字列の場合、アルファベットの最上位の文字が返されます
比較値リスト、サイズは決定できず、戻り値は NULL です
GREATEST 演算子
構文形式は次のとおりです: GREATEST(value 1, value 2,...value n)、ここで、n は n 個あることを意味しますパラメータリストの値。
2つ以上のパラメータがある場合は、最大値を返します。
独立変数が NULL の場合、GREATEST() の戻り値は NULL になります
GREATEST 演算子を使用してサイズを決定します。SQL ステートメントは次のとおりです。
結果からわかるように、パラメータが整数であるか、パラメータが浮動小数点数の場合、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 ステートメントは次のとおりです。
結果からわかるように、指定された一致文字列は 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を使用します
ことができます。結果から参照 '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 の一部の特殊文字は、データベースに挿入する前にエスケープ文字にする必要があります。そうしないと、予期しない結果が発生します。
次の特殊文字は、入力時にバックスラッシュで始める必要があります
一重引用符を入力してください: '二重引用符を入力してください: "バックスラッシュを入力してください: \
キャリッジリターンを入力してください: r
改行文字を入力してください: n
タブ文字を入力してください: tab
バックスペース文字を入力してください: b
これらの特殊文字をデータベースに挿入する前に必ずエスケープしてください
SQLSERVER では、これらの特殊文字は前に追加されません バックスラッシュの代わりに一重引用符 ' を追加してください
たとえば、一重引用符を挿入し、バックスラッシュを追加すると、挿入は成功します
概要
このセクションでは、MYSQL のいくつかの演算子と特殊文字を簡単に紹介し、SQLSERVER との違いを比較します
上記は次のとおりです。 MySQL 学習シリーズ 4: 演算子の内容 その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください