成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入了解MySQL字符串比較函數

數據庫 MySQL
MySQL數據庫中的字符串相信大家都比較了解了,下文就為您介紹字符串比較函數的用法,如果你對此方面感興趣的話,不妨一看。

MySQL字符串比較函數函數我們經常會用到,下面就對MySQL字符串比較函數的用法作了很詳細的介紹分析,希望對您學習MySQL字符串比較函數方面能有所啟迪。

根據,MySQL 會自動將數字轉化為字符串,反之亦然。

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

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

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() 比較可取。

若已經對一個字符串函數給定一個二進制字符串作為參數, 則所得到的結果字符串也是一個二進制字符串。一個轉化為字符串的數字被作為二進制字符串對待。這僅會對比較結果產生影響。

一般而言, 若字符串比較中任意一個表達式是區分大小寫的,則執行比較時也區分大小寫。

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

模式匹配,使用SQL簡單正規表達式比較。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一個為 NULL,則結果為 NULL。

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

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

 

 

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

若要對通配符的文字實例進行檢驗, 可將轉義字符放在該字符前面。如果沒有指定 ESCAPE字符, 則假設為‘\’。

 

 

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

要指定一個不同的轉義字符,可使用ESCAPE語句:

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

轉義序列可以為空,也可以是一個字符的長度。 從 MySQL 5.1.2開始, 如若 NO_BACKSLASH_ESCAPES SQL模式被激活, 則該序列不能為空。

以下兩個語句舉例說明了字符串比較不區分大小寫,除非其中一個操作數為二進制字符串:

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

在MySQL中, LIKE 允許出現在數字表達式中。 (這是標準SQL LIKE 的延伸)。

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

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

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

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

◆ expr NOT REGEXP pat expr NOT RLIKE pat

這相當于NOT (expr REGEXP pat)。

◆ expr REGEXP pat expr RLIKE pat

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

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

注釋:由于在字符串中, MySQL使用 C 轉義語法 (例如, 用‘ ’來代表換行字符 ),在REGEXP字符串中必須將用到的‘\’ 雙寫。

REGEXP 不區分大小寫, 除非將其同二進制字符串同時使用。

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

在確定字符類型時,REGEXP 和 RLIKE 使用當前字符集 (默認為cp1252 Latin1 )。 警告:這些操作符不支持多字節字元。

◆ STRCMP(expr1,expr2)

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

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

在執行比較時,STRCMP() 使用當前字符集。這使得默認的比較區分大小寫,當操作數中的一個或兩個都是二進制字符串時除外。

 

 

【編輯推薦】

MySQL大表重復字段的查詢方法

mysql查詢語句中distinct的問題

教您如何實現MySQL全文查詢

MySQL查詢結果條數編號示例

MySQL查詢中間記錄的方法

責任編輯:段燃 來源: 互聯網
相關推薦

2010-11-08 15:58:54

SQL Server連

2017-06-13 12:40:47

Python字符串對象

2010-11-01 15:06:52

MYSQL字符串連接

2010-10-11 16:45:18

MySQL ifnul

2010-10-09 14:08:52

MYSQL Cast函

2009-02-24 15:39:27

字符串比較函數函數

2010-11-26 13:47:51

MySQL隨機字符串

2018-09-04 16:20:46

MySQ索引數據結構

2010-10-09 10:49:07

MySQL默認字符集

2010-07-13 09:36:25

2010-11-19 16:22:14

Oracle事務

2020-09-21 09:53:04

FlexCSS開發

2022-08-26 13:48:40

EPUBLinux

2009-08-25 16:27:10

Mscomm控件

2010-06-23 20:31:54

2020-07-20 06:35:55

BashLinux

2010-10-14 11:25:39

2010-10-14 11:33:42

MySQL用戶

2010-10-12 15:30:04

MySQL權限管理

2010-10-15 11:27:21

Mysql臨時表
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩电影一区二区三区 | 97国产精品视频人人做人人爱 | 日韩在线 | 国产91久久久久蜜臀青青天草二 | 日韩一区二区三区在线视频 | 久久综合一区二区 | 成人区一区二区三区 | 天堂中文资源在线 | 九九福利| 日本成人二区 | 成人性生交大片免费看r链接 | 国产精久久久久久久 | 欧美激情久久久 | 大象一区 | 欧美精品一区二区三区四区五区 | 在线亚州 | 欧美日韩亚洲视频 | 免费视频一区二区 | 国产一区二区三区在线免费 | 99国产精品99久久久久久粉嫩 | 国产精品一区在线观看 | 99精品网| 精品一二区 | 欧美精品三区 | 久久久国产精品网站 | 亚洲精品一区二区三区中文字幕 | 色吧综合网| 日韩午夜一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 不卡在线视频 | 国产成人精品一区二区三区网站观看 | 中文字幕亚洲精品 | 欧美日韩高清一区 | 久久精品亚洲精品国产欧美 | 中文亚洲视频 | 视频一区二区在线观看 | 一区二区三区视频在线观看 | 日韩电影免费在线观看中文字幕 | 91黄在线观看 | 日韩1区| 精品视频在线免费观看 |