ホームページ  >  記事  >  データベース  >  MySQL の高度なドリフトを深く理解する (2)

MySQL の高度なドリフトを深く理解する (2)

黄舟
黄舟オリジナル
2017-03-08 13:52:121393ブラウズ

演算子

算術演算子

MySQL は、計算を実行できる最も一般的な算術演算子をサポートしています。
「+(加算)、-(減算)、*(乗算)、/(除算、商を返す)、%(除算、剰余を返す)」。次の例のように:

select 1+2;//加法运算,结果为3 
select 2-1;//减法运算,结果为1 
select 3*2;//乘法运算,结果为6 
select 6/2;//除法运算,结果为3 
select 25%7;//除法运算,结果为4 
select 5/0;//除法运算,结果为null,MySQL除法的除数为0是不允许的

すべての数学演算であることに注意してください。整数を含むすべての計算は 64 ビット精度で実行されます。

文字列として表現された数値は、計算のために可能な限り自動的に文字列に変換されます。 2 つの変換原則に従ってください:
1: 最初の桁が数値である文字列が算術演算で使用される場合、その文字列はその数値の値に変換されます
2: 文字と数値が混在する文字列を正しく変換できない場合は数値に変換され、0 に変換されます

select ‘100’+’004’;//结果为104 
select ‘90AA’+’0’;//结果为90 
select ‘10x’*’qwe’;//结果0
比較演算子

比較演算子を使用すると、式の左側と右側を比較できます。比較演算の結果は常に 1 (true)、0 (false) になります。 ) ) または null (未定義)。

select 6=6,3.4=4.5,’a’=’b’;//判断两边是否相等 
select 7<>7,7<>8,’a’<>’b’;//判断两边是否不相等 
select 100>100,10<100;//判断左边是否大于右边,左边是否小于右边 
select 10>=100,10<=1;//判断左边是否大于等于右边,左边是否小于等于右边 
select 10 between 0 and 100;//检验一个值是否存在于一个指定的范围内 
select 10 not between 11 and 100;//检验一个值是否不存在于一个指定的范围内 
select 7 in (1,2,3,4,5,6,7,8,9);//检验一个值是否包含在一个指定的值集合中 
select 7 not in (1,2,3,4,5,6,7,8,9);//检验一个值是否不包含在一个指定的值集合中

デフォルトでは、比較では大文字と小文字が区別されません。大文字と小文字を区別する操作を実行するには、binary キーワードを使用できます
select binary 'ross' in ('Chandler','Joey','Ross')
MySQL の高度なドリフトを深く理解する (2)

論理演算子

論理演算子は 1 の論理的妥当性をテストできます。 1 つ以上の式 (または式のセット) です。これらの演算子を含む演算の結果は、常に 1 (true)、0 (false)、または null (決定できません) です

論理演算子の中で最も単純な演算子は、それに続くロジックをテストする not 演算子です 否定、真になるfalse にすると、false が true に変わります
select not 1,not 0,not (2=2),not (100>20);//結果は 0,1,0,1 です
MySQL の高度なドリフトを深く理解する (2)
and 演算子は、 2 つ以上の値 (または式の評価) の有効性。すべてのコンポーネントが true で null でない場合は true 値を返し、それ以外の場合は false 値を返します
select (2=2) および (900MySQL の高度なドリフトを深く理解する (2)
または演算子、値が含まれているか式の値が true で null でない場合、 true を返します。それ以外の場合は false を返します。
select (2=2) or (900MySQL の高度なドリフトを深く理解する (2)
MySQL4.x と詳細 新しいバージョンには、引数の 1 つ (両方ではない) が true の場合に true を返す追加の xor 演算子も含まれています。
select (1=1) xor (2=4),(1MySQL の高度なドリフトを深く理解する (2)

ビット演算子

ビット演算子
MySQL には 6 つの演算子が含まれていますビット単位の演算専用
「|」演算子はビット単位の or 演算を実行するために使用され、& はビット単位の and 演算を実行するために使用されます。
ケース:
select 16|32,9|4;//結果は 48,13
select 30 & 10,8 & 16;//結果は 10,0
MySQL の高度なドリフトを深く理解する (2)
演算子はそれぞれビットを左と右にシフトします。
select 11;//結果は 128,32 です
MySQL の高度なドリフトを深く理解する (2)
^ 演算子はビット XOR 演算を実行します
select 1^0,0^1,17^9,143^66;// result 1,1,24,205 の場合
MySQL の高度なドリフトを深く理解する (2)
~ 演算子はビットごとの否定演算を実行し、64 ビット整数の結果を返します
select ~18446744073709551614,~1; 結果は 1,18446744073709551614 です

MySQL の高度なドリフトを深く理解する (2)


以上がMySQL の高度なドリフトを深く理解する (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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