北京快乐8官网|北京快乐8选一秘诀

品略圖書館

oracle模糊查詢中的like和regexp_like用法介紹

like常用用法:

1.%代表任意數量的某一或某些字符。

select * from tmp_table t where t.name like "%Bob"(查詢tmp_table表中name列最后三位是BOb的記錄,eg:BBob)

select * from tmp_table t where t.name like "Bob%"(查詢tmp_table表中name列開始三位是BOb的記錄,eg:Bobm)

select * from tmp_table t where t.name like "%Bob%"(查詢tmp_table表中name列中包含BOb的記錄,eg:aBObm,aaBobmm)

2._代表某一字符

select * from tmp_table t where t.name like "_Bob"(查詢tmp_table表中name列為四位且最后三位是BOb的記錄,eg:aBob,bBob)

select * from tmp_table t where t.name like "B_ob"(查詢tmp_table表中name列為四位且第二位是任意字符的記錄,eg:Bnob,Bmob)

select * from tmp_table t where t.name like "Bob_"(查詢tmp_table表中name列為四位且最后一位是任意字符的記錄,eg:Bobm,Bobn)

regexp_like適用于查詢某一列包含多個字符串的時候,常用用法:

select * from tmp_table t where regexp_like(t.name,"Bob|Jane|marry" )(查詢tmp_table表中name列中包含Bob或Jane或marry的記錄,eg:Bob Smith,Jane Green)

等同于:

select * from tmp_table t where t.name like "%Bob%" or t.name like "%Jane%" or t.name like "%marry%"

這里順便說下in、exists的用法:

select * from tmp_table t where t.name in("Bob","Jane","marry" )

等同于

select * from tmp_table t where t.name exists("Bob","Jane","marry" )

等同于

select * from tmp_table t where t.name ="Bob" or t.name ="Jane" or t.name ="marry"

注:這里“等同于”指的是查詢結果一樣,并不包括語句的執行效率。

免責聲明:本文僅代表文章作者的個人觀點,與本站無關。其原創性、真實性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容文字的真實性、完整性和原創性本站不作任何保證或承諾,請讀者僅作參考,并自行核實相關內容。

http://www.kzguv.com.cn/style/images/nopic.gif
我要收藏
個贊
被踩
分享到
分享
評論
首頁
北京快乐8官网