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

MySQL中的字符串比較函數

運維 數據庫運維 MySQL
本文主要對MySQL內置函數中的字符串比較函數進行了詳細介紹,希望可以給你帶來幫助。

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

mysql> SELECT 1+'1';
        -> 2
mysql> 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_';
        -> 1
mysql> SELECT 'David!' LIKE '%D%v%';
        -> 1

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

mysql> SELECT 'David!' LIKE 'David\_';
        -> 0
mysql> 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';
        -> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
        -> 0

#p#

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

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

注釋: 由于 MySQL在字符串中使用 C轉義語法(例如, 用‘\n’代表一個換行字符),在LIKE字符串中,必須將用到的‘\’雙寫。例如, 若要查找 ‘\n’, 必須將其寫成 ‘\\n’。而若要查找 ‘\’, 則必須將其寫成 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 轉義語法 (例如, 用‘\n’來代表換行字符 ),在REGEXP字符串中必須將用到的‘\’ 雙寫。

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

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

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

◆ STRCMP(expr1,expr2)

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

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

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

【編輯推薦】

  1. MySQL中字符串函數詳細介紹
  2. MySQL 6.0新特性展望 多項功能增強
  3. 關于MySQL字符集架構的思考
責任編輯:楊鵬飛 來源: 網絡轉載
相關推薦

2010-11-26 10:22:28

MySQL字符串比較

2010-09-06 17:26:54

SQL函數

2009-02-24 14:27:55

2012-01-11 09:15:45

Objective-C

2023-03-06 23:05:32

MySQL字符串函數

2010-10-09 11:54:46

MySQL字符串

2010-09-06 17:30:46

SQL函數

2010-11-26 10:14:40

MySQL repla

2021-03-08 08:23:24

Java字符串截取

2010-11-26 11:20:31

MySQL字符串處理函

2010-09-09 11:48:00

SQL函數字符串

2010-10-11 15:57:35

MySQL清除字符串

2010-11-26 11:34:32

MySQL截取字符串函

2010-05-26 15:14:39

MySQL字符串

2010-11-26 09:46:26

MySQL字符串相加

2010-05-26 15:36:23

MySQL字符串

2014-01-02 16:14:10

PostgreSQL字符串

2019-09-18 09:56:41

MySQLSQL函數

2010-07-14 16:48:02

Perl字符串比較

2022-05-10 09:47:10

Bash字符串Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩爱爱网站 | av福利网站| 成人免费观看男女羞羞视频 | 一区中文字幕 | 久久久九九 | 一区二区三区欧美在线 | 国内精品久久久久久久影视简单 | 成人在线免费视频 | 亚洲国产成人一区二区 | 国产精品jizz在线观看老狼 | 国产成人一区二区 | 亚洲欧美网 | 男女污网站 | 天天操天天射综合网 | 激情网站在线观看 | 成人精品国产一区二区4080 | 91精品国产综合久久福利软件 | 色综合一区 | 国产95在线 | www4虎| 午夜精品影院 | 久久久久久久国产 | 99久久婷婷国产综合精品电影 | 欧美精品久久久 | 国产日韩欧美综合 | 日韩精品在线看 | 欧美专区在线 | 中文字幕精品一区久久久久 | 97偷拍视频 | 成人做爰9片免费看网站 | 岛国av免费在线观看 | 色综合99| 久久久一区二区三区 | 精品欧美一区二区三区久久久 | a级在线免费 | 精品日韩一区二区 | 亚洲精品久久久久久国产精华液 | 欧美日韩在线免费观看 | 99视频入口 | 中文字幕一区二区三区乱码在线 | 中文字幕一区二区三区精彩视频 |