前言
看了關于MySQL運算符的視頻,記錄下學習筆記。
MySQL算數(shù)運算符
+ #加
- #減
* #乘
/ #除
% #取余
MySQL比較運算符
相等
SELECT 5 = 5;#結果為:1;
SELECT 'hello' = 'hello'; #結果為:1;
SELECT 'HELLO' = 'hello'; #結果為:1;
SELECT BIANRY 'HELLO' = 'hello'; #結果為:0;
↑ 字符的比較不區(qū)分大小寫,想要區(qū)分大小寫加 bianry 關鍵字
SELECT 'hello' = 'hello '; #結果為:1;
↑ 字符串后面的空格或者換行符會被忽略掉
SELECT null = 1; #結果為:null;
↑ 有null參與的運算都返回null
SELECT null = null; #結果為:null;
↑ 即使是 null = null 也返回null;想要判斷是否為null可以用<=>
不等
SELECT 1 != 1; #結果為:0;
大于,小于
SELECT 5 > 6; #結果為:0;
SELECT 'a' > 'b'; #結果為:0;
↑ 字符是按照在在字母表的順序比較的,越靠后越大
大于等于,小于等于
…
null安全的比較運算符
SELECT null <=> null; #結果為:1;
是否在范圍之間(between…and)
SELECT 'b' BETWEEN 'a' AND 'C'; #結果為:1;
是否在集合里(in)
SELECT 5 IN (1 , 2 , 3 , 4 , 5); #結果為:1;
SELECT null IN (1 , 2 , 3 , 4 , 5 , null); #結果為:null;
↑ null在in運算里無法正確處理,始終返回null
是否為null(is null)
SELECT 1 IS NULL; #結果為:0;
匹配(like)
SELECT 'hello' LIKE 'h%'; #結果為:1;
% 是通配符,代表任意數(shù)量的任意字符
_ 也是通配符,代表任意的一個字符
正則表達式匹配(regexp)
SELECT 'hello world' REGEXP 'h.*o\\b'; #結果為:1;
↑ 注意:在MySQL的正則表達式里所有的 \ 必須要雙寫()
rilke(與regexp差不多)
…
MySQL邏輯運算符
取反(not / !)
SELECT NOT 1; #結果為:0;
↑ 在MySQL里,布爾值用tinyint(1)表示,0為false,1為true
且(and / &&)
SELECT 2 > 1 && 3 >2; #結果為:1;
↑ 當兩個條件全部為真時才返回真;只要有一者為假就返回假
或(or / ||)
SELECT 2>1 || 3>5; #結果為:1;
↑ 只要有一個條件為真就返回真;兩個條件都為假時才返回假
異或(xor)
SELECT 2>1 XOR 3>5; #結果為:1;
↑ 兩個條件的結果不相等,即為一真一假時才返回真;兩者同為真或兩者同為假時返回假
MySQL位運算符
省略,暫時用不上