比較運(yùn)算符的使用
等號(hào)運(yùn)算符
= 判斷等號(hào)兩邊的值,字符串或表達(dá)式是否相等,如果相等則返回1,不相等則返回0.
需要遵守如下規(guī)則:
1.如果等號(hào)兩邊都為字符串,則Mysql會(huì)按照字符串進(jìn)行比較,其比較的是每個(gè)字符的ANSI編碼是否相等。
2.如果等號(hào)兩邊都是整數(shù)。則會(huì)按照兩個(gè)整數(shù)的值來比較大小。
3.如果等號(hào)兩邊一個(gè)是整數(shù),一個(gè)是字符串,則Mysql會(huì)將·字符串轉(zhuǎn)換成數(shù)字進(jìn)行比較。
4.如果等號(hào)兩邊有一個(gè)為NULL,則比較結(jié)果為NULL
SELECT 1=2,1!=2,1='a',0='a'
FROM DUAL;
結(jié)果為: 0,1,0,1
字符串存在隱式轉(zhuǎn)換,如果數(shù)值轉(zhuǎn)化不成功,則看作0
SELECT 'a'='a','as'='as','d'='a'
FROM DUAL;
結(jié)果為:1,1,0
SELECT '1'=NULL,NULL=NULL
FROM DUAL;
結(jié)果為:NULL,NULL
<=>安全等于
和=一樣,除了當(dāng)為NULL時(shí),唯一區(qū)別可以對(duì)NULL進(jìn)行判斷
在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1,而不為NULL
當(dāng)一個(gè)操作數(shù)為NULL時(shí),其返回值為0,而不為NULL
SELECT '1'=NULL,NULL=NULL
FROM DUAL;
結(jié)果為:0,1
不等于運(yùn)算符<>/!=
用于判斷兩邊的字符串,數(shù)字,表達(dá)式的值是否不相等。如果不相等則返回一,相等則返回0.
不等運(yùn)算符不能判斷NULL值,當(dāng)任意一邊出現(xiàn)NULL或者都是NULL時(shí),返回值都是NULL
非符號(hào)類型的運(yùn)算符
IS NULL 為空運(yùn)算符 | 判斷值,字符串,表達(dá)式是否為空 |
---|---|
IS NOT NULL 不為空運(yùn)算符 | 判斷值,字符串,表達(dá)式是否不為空 |
LEAST 最小值運(yùn)算符 | 在多個(gè)值中返回最小值 |
GREATEST最大值運(yùn)算符 | 在多個(gè)值中返回最大值 |
BETWEEN AND 兩值之間的運(yùn)算符 | 判斷一個(gè)值是否在兩個(gè)值之間 |
ISNULL 為空運(yùn)算符 | 判斷一個(gè)值,字符串,表達(dá)式是否為空 |
IN 屬于運(yùn)算符 | 判斷一個(gè)值是否為列表中的任意一個(gè)值 |
NOT IN不屬于運(yùn)算符 | 判斷一個(gè)值是否不是一個(gè)列表中任意一個(gè)值 |
LIKE 模糊匹配運(yùn)算符 | 判斷一個(gè)值是否符合模糊匹配規(guī)則 |
PEGEXP 正則表達(dá)式運(yùn)算符 | 判斷一個(gè)值是否符合正則表達(dá)式的規(guī)則 |
RLIKE 正則表達(dá)式 | 判斷一個(gè)值是否符合正則表達(dá)式的規(guī)則 |
比如
BETWEEN AND
在使用時(shí),要注意上下限問題(包含邊界值)
SELECT age
FROM empolyees
WHERE age BETWEEN 10 AND 20;
#或者 WHERE age NOT BETWEEN 10 AND 20;
#WHERE age BETWEEN 100 AND 20; 錯(cuò)誤寫法
IN
查詢年齡為10或20的員工信息
SELECT age
FROM empolyees
#方法一:WHERE age=10 OR age=20;
#方法二:WHERE age IN(10,20);
WHERE age NOT IN(10,20);#查詢年齡不是10,20的員工信息
LIKE
查詢名字為‘a(chǎn)’的員工信息·
SELECT name
FROM empolyees
WHERE name LIKE 'a';
查詢名字中包含字符;‘a(chǎn)’的員工信息
% 代表有不確定個(gè)數(shù)的字符
%a%代表前面后面都有不確定個(gè)數(shù)的字符
SELECT name
FROM empolyees
WHERE name LIKE '%a%';
查詢名字中包含字符‘a(chǎn)’和‘w’的員工信息
SELECT name
FROM empolyees
#方法一:
WHERE name LIKE '%a%' AND LIKE '%w%';
#方法二:
WHERE name LIKE '%a%e%' OR name LIKE '%e%a%';
_代表一個(gè)不確定的字符
查找第二個(gè)字符為a的員工信息
SELECT name
FROM empolyees
WHERE name LIKE '_a%';
如果當(dāng)_就是要查找的字符時(shí),要用到轉(zhuǎn)義字符 \
查找第二個(gè)字符為_,而且第三個(gè)字符為a 的員工信息
SELECT name
FROM empolyees
WHERE name LIKE '_\_a%';
用¥來充當(dāng)轉(zhuǎn)義字符
SELECT name
FROM empolyees
WHERE name LIKE '_¥_a%' ESCAPE ¥;
PEGEXP/ RLIKE
精準(zhǔn)的來查詢信息,其中有
邏輯運(yùn)算符使用
運(yùn)算符 | 作用 |
---|---|
NOT或! | 邏輯非 |
AND或&& | 邏輯與 |
OR | 邏輯或 |
XOR | 邏輯異或 |
注意:
OR與AND能一起使用,但是在使用時(shí)要注意兩者之間的優(yōu)先級(jí)關(guān)系。
AND的優(yōu)先級(jí)高于OR,因此在運(yùn)算時(shí),先對(duì)AND進(jìn)行運(yùn)算,得到的結(jié)果再與OR進(jìn)行運(yùn)算
位運(yùn)算符
位運(yùn)算符是在二進(jìn)制數(shù)上進(jìn)行計(jì)算的運(yùn)算符。位運(yùn)算符會(huì)先將操作數(shù)變?yōu)槎M(jìn)制數(shù),然后進(jìn)行位運(yùn)算,最后將計(jì)算結(jié)果從二進(jìn)制變回十進(jìn)制
運(yùn)算符 | 作用 |
---|---|
& | 按位與(位AND) |
直線(語法問題,無法輸入) | 按位或(位OR) |
^ | 按位異或(位XOR) |
~ | 按位取返 |
>> | 按位右移 |
<< | 按位左移 |
此外如果大家有購書需求,歡迎大家考慮一下清華社,直接以最低的價(jià)格買到最好的書!
詳情鏈接描述文章來源:http://www.zghlxwxcb.cn/news/detail-484676.html
清華社 IT BOOK 多得圖書活動(dòng)開始啦!活動(dòng)時(shí)間為 2023 年 6 月 7 日至 6 月 18 日,\n清華社為您精選多款高分好書,涵蓋了 C++、Java、Python、前端、后端、數(shù)據(jù)庫、算法與機(jī)器學(xué)習(xí)等多個(gè) IT 開發(fā)領(lǐng)域,適合不同層次的讀者。全場(chǎng) 5 折,掃碼領(lǐng)券更有優(yōu)惠哦!\n快來京東點(diǎn)擊鏈接 IT BOOK 多得(或掃描京東二維碼)查看詳情吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-484676.html
到了這里,關(guān)于走近mysql運(yùn)算符|靠它就夠啦的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!