第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在LIKE運算符中引入多個條件

如何在LIKE運算符中引入多個條件

森欄 2019-10-18 10:13:21
我想寫一條如下的SQL語句:select * from tbl where col like ('ABC%','XYZ%','PQR%');我知道可以使用來完成OR。但是我想知道還有沒有更好的解決方案。
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

這是另一種方法:


select * from tbl where col like 'ABC%'

union

select * from tbl where col like 'XYZ%'

union

select * from tbl where col like 'PQR%';

這是驗證的測試代碼:


create table tbl (col varchar(255));

insert into tbl (col) values ('ABCDEFG'), ('HIJKLMNO'), ('PQRSTUVW'), ('XYZ');

select * from tbl where col like 'ABC%'

union

select * from tbl where col like 'XYZ%'

union

select * from tbl where col like 'PQR%';

+----------+

| col      |

+----------+

| ABCDEFG  |

| XYZ      |

| PQRSTUVW |

+----------+

3 rows in set (0.00 sec)


查看完整回答
反對 回復 2019-10-18
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

這是臨時表的好用法。


CREATE TEMPORARY TABLE patterns (

  pattern VARCHAR(20)

);


INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');


SELECT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);

在示例模式中,col無法匹配多個模式,因此可以確保tbl結果中最多只能看到每一行。但是,如果您的模式col可以匹配多個模式,則應使用DISTINCT查詢修飾符。


SELECT DISTINCT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);


查看完整回答
反對 回復 2019-10-18
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

Oracle 10g具有允許在SQL中使用符合POSIX的正則表達式的功能:


REGEXP_LIKE

REGEXP_REPLACE

REGEXP_INSTR

REGEXP_SUBSTR

有關此函數(shù)的語法詳細信息,請參見《Oracle數(shù)據(jù)庫SQL參考》。


使用示例查看Perl中的正則表達式。


代碼:


    select * from tbl where regexp_like(col, '^(ABC|XYZ|PQR)');


查看完整回答
反對 回復 2019-10-18
  • 3 回答
  • 0 關注
  • 3617 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號