日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
MySQL中的字符串比較函數(shù)

根據(jù),MySQL 會(huì)自動(dòng)將數(shù)字轉(zhuǎn)化為字符串,反之亦然。

創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為屯留企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,屯留網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

mysql> SELECT 1+'1';
        -> 2
mysql> SELECT CONCAT(2,' test');
        -> '2 test'

若想要將數(shù)字明確地轉(zhuǎn)化為字符串,可使用 CAST()或 CONCAT()函數(shù):

mysql> SELECT 38.8, CAST(38.8 AS CHAR);
        -> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT(38.8);
        -> 38.8, '38.8'

CAST() 比較可取。

若已經(jīng)對(duì)一個(gè)字符串函數(shù)給定一個(gè)二進(jìn)制字符串作為參數(shù), 則所得到的結(jié)果字符串也是一個(gè)二進(jìn)制字符串。一個(gè)轉(zhuǎn)化為字符串的數(shù)字被作為二進(jìn)制字符串對(duì)待。這僅會(huì)對(duì)比較結(jié)果產(chǎn)生影響。

一般而言, 若字符串比較中任意一個(gè)表達(dá)式是區(qū)分大小寫(xiě)的,則執(zhí)行比較時(shí)也區(qū)分大小寫(xiě)。

◆ expr LIKE pat [ESCAPE 'escape-char']

模式匹配,使用SQL簡(jiǎn)單正規(guī)表達(dá)式比較。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一個(gè)為 NULL,則結(jié)果為 NULL。

模式不需要為文字字符串。例如,可以被指定為一個(gè)字符串表達(dá)式或表列。

在模式中可以同LIKE一起使用以下兩種通配符:

mysql> SELECT 'David!' LIKE 'David_';
        -> 1
mysql> SELECT 'David!' LIKE '%D%v%';
        -> 1

若要對(duì)通配符的文字實(shí)例進(jìn)行檢驗(yàn), 可將轉(zhuǎn)義字符放在該字符前面。如果沒(méi)有指定 ESCAPE字符, 則假設(shè)為‘\’。

mysql> SELECT 'David!' LIKE 'David\_';
        -> 0
mysql> SELECT 'David_' LIKE 'David\_';
        -> 1

要指定一個(gè)不同的轉(zhuǎn)義字符,可使用ESCAPE語(yǔ)句:

mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|';
        -> 1

轉(zhuǎn)義序列可以為空,也可以是一個(gè)字符的長(zhǎng)度。 從 MySQL 5.1.2開(kāi)始, 如若 NO_BACKSLASH_ESCAPES SQL模式被激活, 則該序列不能為空。

以下兩個(gè)語(yǔ)句舉例說(shuō)明了字符串比較不區(qū)分大小寫(xiě),除非其中一個(gè)操作數(shù)為二進(jìn)制字符串:

mysql> SELECT 'abc' LIKE 'ABC';
        -> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
        -> 0

#p#

在MySQL中, LIKE 允許出現(xiàn)在數(shù)字表達(dá)式中。 (這是標(biāo)準(zhǔn)SQL LIKE 的延伸)。

mysql> SELECT 10 LIKE '1%';
        -> 1

注釋: 由于 MySQL在字符串中使用 C轉(zhuǎn)義語(yǔ)法(例如, 用‘\n’代表一個(gè)換行字符),在LIKE字符串中,必須將用到的‘\’雙寫(xiě)。例如, 若要查找 ‘\n’, 必須將其寫(xiě)成 ‘\\n’。而若要查找 ‘\’, 則必須將其寫(xiě)成 it as ‘\\\\’;原因是反斜線符號(hào)會(huì)被語(yǔ)法分析程序剝離一次,在進(jìn)行模式匹配時(shí),又會(huì)被剝離一次,最后會(huì)剩下一個(gè)反斜線符號(hào)接受匹配。

◆ expr NOT LIKE pat [ESCAPE 'escape-char']

這相當(dāng)于 NOT (expr LIKE pat [ESCAPE 'escape-char'])。

◆ expr NOT REGEXP pat expr NOT RLIKE pat

這相當(dāng)于NOT (expr REGEXP pat)。

◆ expr REGEXP pat expr RLIKE pat

執(zhí)行字符串表達(dá)式 expr 和模式pat 的模式匹配。該模式可以被延伸為正規(guī)表達(dá)式。正規(guī)表達(dá)式的語(yǔ)法在附錄G:MySQL正則表達(dá)式中有詳細(xì)討論。若expr 匹配 pat,則返回 1; 否則返回0。若 expr 或 pat 任意一個(gè)為 NULL, 則結(jié)果為 NULL。 RLIKE 是REGEXP的同義詞, 作用是為mSQL 提供兼容性。

模式不需要為文字字符串。例如,可以被指定為一個(gè)字符串表達(dá)式或表列。

注釋:由于在字符串中, MySQL使用 C 轉(zhuǎn)義語(yǔ)法 (例如, 用‘\n’來(lái)代表?yè)Q行字符 ),在REGEXP字符串中必須將用到的‘\’ 雙寫(xiě)。

REGEXP 不區(qū)分大小寫(xiě), 除非將其同二進(jìn)制字符串同時(shí)使用。

mysql> SELECT 'Monty!' REGEXP 'm%y%%';
       -> 0
mysql> SELECT 'Monty!' REGEXP '.*';
       -> 1
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
      -> 1
mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
        -> 1  0
mysql> SELECT 'a' REGEXP '^[a-d]';
        -> 1

在確定字符類(lèi)型時(shí),REGEXP 和 RLIKE 使用當(dāng)前字符集 (默認(rèn)為cp1252 Latin1 )。 警告:這些操作符不支持多字節(jié)字元。

◆ STRCMP(expr1,expr2)

若所有的字符串均相同,則返回STRCMP(),若根據(jù)當(dāng)前分類(lèi)次序,第一個(gè)參數(shù)小于第二個(gè),則返回  -1,其它情況返回 1 。

mysql> SELECT STRCMP('text', 'text2');
        -> -1
mysql> SELECT STRCMP('text2', 'text');
        -> 1
mysql> SELECT STRCMP('text', 'text');
        -> 0

在執(zhí)行比較時(shí),STRCMP() 使用當(dāng)前字符集。這使得默認(rèn)的比較區(qū)分大小寫(xiě),當(dāng)操作數(shù)中的一個(gè)或兩個(gè)都是二進(jìn)制字符串時(shí)除外。


網(wǎng)站名稱:MySQL中的字符串比較函數(shù)
URL標(biāo)題:http://www.dlmjj.cn/article/dpghdsc.html