新聞中心
模式匹配條件(Pattern-matching Conditions)用來比較字符數(shù)據(jù)。

創(chuàng)新互聯(lián)專注于永靖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供永靖營銷型網(wǎng)站建設(shè),永靖網(wǎng)站制作、永靖網(wǎng)頁設(shè)計(jì)、永靖網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造永靖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供永靖網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
LIKE 條件
?LIKE? 條件用于模式匹配。相等運(yùn)算符(=)指的是一個(gè)字符值與另一個(gè)字符值完全匹配,而 ?LIKE? 條件通過在第一個(gè)值中搜索由第二個(gè)字符值指定的模式來將一個(gè)字符值的一部分與另一個(gè)字符值進(jìn)行匹配。
?LIKE? 使用輸入字符集定義的字符來計(jì)算字符串。
語法
char1 [NOT] LIKE char2 [ ESCAPE esc_char ]除了 ?LIKE?,特殊的模式匹配字符 ?_? 表示值中的一個(gè)字符恰好匹配,?%? 表示值中的零個(gè)或多個(gè)字符匹配。模式 ?%? 不能與 ?NULL? 匹配。
參數(shù)
|
參數(shù) |
說明 |
|---|---|
char1 |
字符表達(dá)式,例如字符列,稱為搜索值。 |
char2 |
字符表達(dá)式,通常是文字,稱為模式。 |
esc_char |
字符表達(dá)式,通常是文字, |
示例
以下語句使用了 ?LIKE?:
SELECT last_name FROM employees WHERE last_name LIKE '%A\_B%' ESCAPE '\' ORDER BY last_name;ESCAPE '\'
會(huì)將
%A\_B%
中
\
后面的模式匹配符‘_’解釋為普通的字符。
SELECT salary FROM employees WHERE 'SM%' LIKE last_name ORDER BY salary;REGEXP_LIKE 條件
?REGEXP_LIKE? 用于正則表達(dá)式匹配。?REGEXP_LIKE? 使用輸入字符集定義的字符評(píng)估字符串。
語法
REGEXP_LIKE(source_char, pattern [, match_param ])參數(shù)
|
參數(shù) |
說明 |
|---|---|
source_char |
用作搜索值的字符表達(dá)式,數(shù)據(jù)類型可以是 |
pattern |
正則表達(dá)式,數(shù)據(jù)類型可以是 |
source_char |
數(shù)據(jù)類型 |
如果模式的數(shù)據(jù)類型與 ?source_char? 的數(shù)據(jù)類型不同,OceanBase 將模式轉(zhuǎn)換為 ?source_char? 的數(shù)據(jù)類型。
示例
創(chuàng)建表 employees,并向里面插入數(shù)據(jù)。執(zhí)行以下語句:
CREATE TABLE employees(manager_id INT, first_name varchar(50), last_name varchar(50), hiredate varchar(50),SALARY INT);
INSERT INTO employees VALUES(300, 'Steven', 'King', '2019-09-11',23600);
INSERT INTO employees VALUES(200, 'Steven', 'Markle', '2019-11-05', 23800);
INSERT INTO employees VALUES(100, 'Deven', 'Part', '2018-10-01',24000);
INSERT INTO employees VALUES(200, 'Carlos', 'Ross', '2019-06-11',23500);
INSERT INTO employees VALUES(200, 'Teven', 'Bell', '2019-05-25', 23000);
INSERT INTO employees VALUES(200, 'Stephen', 'Stiles', '2018-06-11',24500);
INSERT INTO employees VALUES(100, 'Ame', 'De Haan', '2018-05-01',11000);
INSERT INTO employees VALUES(100, 'Jon', 'Errazuriz', '2017-07-21', 1400);
COMMIT;查詢返回名字為 Steven 或 Stephen 的員工的名字和姓氏(其中 ?first_name? 以 Ste 開頭,以 en 結(jié)尾,中間是 v 或 ph),執(zhí)行以下語句:
SELECT first_name, last_name FROM employees WHERE REGEXP_LIKE (first_name, '^Ste(v|ph)en$')
ORDER BY first_name, last_name;查詢結(jié)果如下:
+------------+-----------+
| FIRST_NAME | LAST_NAME |
+------------+-----------+
| Stephen | Stiles |
| Steven | King |
| Steven | Markle |
+------------+-----------+ 文章標(biāo)題:創(chuàng)新互聯(lián)OceanBase教程:OceanBase模式匹配條件
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/dhhgpij.html


咨詢
建站咨詢
