午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    MSSQL對(duì)比學(xué)習(xí)MYSQL心得(五)運(yùn)算符
    來(lái)源:易賢網(wǎng) 閱讀:1551 次 日期:2014-06-23 21:47:10
    溫馨提示:易賢網(wǎng)小編為您整理了“MSSQL對(duì)比學(xué)習(xí)MYSQL心得(五)運(yùn)算符”,方便廣大網(wǎng)友查閱!

    MYSQL中的運(yùn)算符很多,這一節(jié)主要講MYSQL中有的,而SQLSERVER沒(méi)有的運(yùn)算符。

    安全等于運(yùn)算符(<=>)

    這個(gè)操作符和=操作符執(zhí)行相同的比較操作,不過(guò)<=>可以用來(lái)判斷NULL值。

    在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1而不為NULL;

    而當(dāng)一個(gè)操作數(shù)為NULL時(shí),其返回值為0而不為NULL。

    下面分別是SELECTNULL<=>1SELECT1<=>0SELECTNULL<=>NULL的執(zhí)行結(jié)果

    在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1而不為NULL;

    6

    LEAST運(yùn)算符

    語(yǔ)法格式為:LEAST(值1,值2,...值n),其中值n表示參數(shù)列表中有n個(gè)值。在有兩個(gè)或多個(gè)參數(shù)的情況下,返回最小值。

    假如任意一個(gè)自變量為NULL,則LEAST()的返回值為NULL

    使用LEAST運(yùn)算符進(jìn)行大小判斷,SQL語(yǔ)句如下:

    代碼如下:

    SELECTLEAST(2,0),LEAST('a','b','c'),LEAST(10,NULL)

    7

    由結(jié)果可以看到,當(dāng)參數(shù)中是整數(shù)或者浮點(diǎn)數(shù)時(shí),LEAST將返回其中最小的值;

    當(dāng)參數(shù)為字符串時(shí),返回字母中順序最靠前的字符;

    當(dāng)比較值列表中有NULL時(shí),不能判斷大小,返回值為NULL

    GREATEST運(yùn)算符

    語(yǔ)法格式為:GREATEST(值1,值2,...值n),其中n表示參數(shù)列表中有n個(gè)值。

    在有兩個(gè)或多個(gè)參數(shù)的情況下,返回最大值。

    假如任意一個(gè)自變量為NULL,則GREATEST()的返回值為NULL

    使用GREATEST運(yùn)算符進(jìn)行大小判斷,SQL語(yǔ)句如下:

    代碼如下:

    SELECTGREATEST(2,0),GREATEST('a','b','c'),GREATEST(10,NULL)

    8

    由結(jié)果可以看到,當(dāng)參數(shù)中是整數(shù)或者浮點(diǎn)數(shù)時(shí),GREATEST將返回其中最大的值;

    當(dāng)參數(shù)為字符串時(shí),返回字母中順序最靠后的字符;

    當(dāng)比較值列表中有NULL時(shí),不能判斷大小,返回值為NULL

    REGEXP運(yùn)算符

    在SQLSERVER里是沒(méi)有正則函數(shù)或者運(yùn)算符的,MYSQL在這方面的確比較完善

    用來(lái)匹配字符串,語(yǔ)法格式為:exprREGEXP匹配條件,如果expr滿足匹配條件,返回1;

    如果不滿足,則返回0;

    若expr或匹配條件任意一個(gè)為NULL,則結(jié)果為NULL

    常用的幾種通配符:

    (1)'^'匹配以該字符后面的字符開頭的字符串

    (2)'$'匹配以該字符后面的字符結(jié)尾的字符串

    (3)'.'匹配任何一個(gè)單字符

    (4)'[...]'匹配在方括號(hào)內(nèi)的任何字符。例如,“[abc]"匹配a、b或c。

    字符的范圍可以使用一個(gè)'-',“[a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字

    (5)'*'匹配零個(gè)或多個(gè)在他前面的字符。例如,“x*”匹配任何數(shù)量的'*'字符,“[0-9]*”匹配任何數(shù)量的數(shù)字,

    而“.*”匹配任何數(shù)量的任何字符。

    使用REGEXP運(yùn)算符進(jìn)行字符串匹配運(yùn)算,SQL語(yǔ)句如下:

    代碼如下:

    SELECT'ssky'REGEXP'^s','ssky'REGEXP'y$','ssky'REGEXP'.sky','ssky'REGEXP'[ab]';

    9

    由結(jié)果可以看到,指定匹配字符串為ssky。

    '^s'表示匹配任何以字母s開頭的字符串,因此滿足匹配條件,返回1;

    'y$'表示匹配任何以字母y結(jié)尾的字符串,因此滿足匹配條件,返回1;

    '.sky'表示匹配任何以sky結(jié)尾,字符長(zhǎng)度為4的字符串,因此滿足匹配條件,返回1;

    '^s'表示匹配任何以字母s開頭的字符串,因此滿足匹配條件,返回1;

    '[ab]'表示匹配任何包含字母a或者b的字符串,指定字符串中沒(méi)有字母a也沒(méi)有字母b,因此不滿足匹配條件,返回0;

    TIPS:正則表達(dá)式是一個(gè)可以進(jìn)行復(fù)雜查詢的強(qiáng)大工具,相對(duì)于LIKE字符串匹配,他可以使用更多的通配符類型

    查詢結(jié)果更加靈活。

    邏輯運(yùn)算符

    邏輯與運(yùn)算符:AND或者&&

    邏輯或運(yùn)算符:OR或者||

    上面兩個(gè)運(yùn)算符就不說(shuō)了,只是比SQLSERVER多了&&和||的寫法

    異或運(yùn)算符:XOR

    當(dāng)任意一個(gè)操作數(shù)為NULL時(shí),返回值為NULL;對(duì)于非NULL的操作數(shù),如果兩個(gè)操作數(shù)都是非0值或者都是0值,則返回結(jié)果為0;

    如果一個(gè)為0值,另一個(gè)為非0值,返回結(jié)果為1

    使用異或運(yùn)算符XOR進(jìn)行邏輯判斷,SQL語(yǔ)句如下

    代碼如下:

    SELECT1XOR1,0XOR0,1XOR0,1XORNULL,1XOR1XOR1

    10

    由結(jié)果可以看到‘1XOR1'和‘0XOR0'中運(yùn)算符兩邊的操作數(shù)都為非零值,或者都是零值,因此返回0;

    '1XOR0'中兩邊的操作數(shù),一個(gè)為0值,另一個(gè)為非0值,返回結(jié)果為1;

    '1XORNULL'中有一個(gè)操作數(shù)為NULL,返回結(jié)果為NULL;

    '1XOR1XOR1'中有多個(gè)操作數(shù),運(yùn)算符相同,因此運(yùn)算符從左到右依次計(jì)算,'1XOR1'的結(jié)果為0,再與1進(jìn)行異或運(yùn)算,因此結(jié)果為1。

    TIPS:aXORb的計(jì)算等同于(aAND(NOTb))或者(NOTaAND(b))

    位運(yùn)算符

    由于比較少用到,這里只做簡(jiǎn)單介紹,同樣位運(yùn)算符在SQLSERVER里是沒(méi)有的

    位運(yùn)算符是用來(lái)對(duì)二進(jìn)制字節(jié)中的位進(jìn)行測(cè)試、移位或者測(cè)試處理

    MYSQL中提供的位運(yùn)算有

    按位或(|)

    按位與(&)

    按位異或(^)

    按位左移(<<)

    按位右移(>>)

    按位取反(~):反轉(zhuǎn)所有比特

    TIPS:可以使用BIN()=binary函數(shù)查看一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示

    例如20這個(gè)數(shù)字SELECTBIN(20)

    二進(jìn)制表示為:10100

    11

    特別提示

    某一些MYSQL中的特殊字符需要用轉(zhuǎn)義字符才能插入數(shù)據(jù)庫(kù),否則產(chǎn)生意料之外的結(jié)果。

    下面的特殊字符需要在輸入時(shí)加反斜線符號(hào)開頭

    輸入單引號(hào)需要:\'

    輸入雙引號(hào)需要:\''

    輸入反斜杠:\\

    輸入回車符:\r

    輸入換行符:\n

    輸入制表符:\tab

    輸入退格符:\b

    在插入這些特殊字符到數(shù)據(jù)庫(kù)之前一定要進(jìn)行轉(zhuǎn)義處理

    在SQLSERVER里,這些特殊字符不是在前面加反斜杠\,而是加單引號(hào)'

    例如插入一個(gè)單引號(hào),加了反斜杠,插入成功

    代碼如下:

    INSERTINTOtable_1(NAME)VALUES('\'')

    SELECT*FROMtable_1

    12

    總結(jié)

    這一節(jié)簡(jiǎn)單介紹了MYSQL里的一些運(yùn)算符和特殊字符,并且比較了與SQLSERVER的區(qū)別。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:MSSQL對(duì)比學(xué)習(xí)MYSQL心得(五)運(yùn)算符
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)