主頁 > 知識庫 > Oracle使用like查詢時對下劃線的處理方法

Oracle使用like查詢時對下劃線的處理方法

熱門標簽:電銷套路機器人 地圖標注效果的制作 汽車4s店百度地圖標注店 地圖標注坐標圖標 鶴壁電話機器人價格 安陽企業電銷機器人供應商 手機地圖標注門店 網貸外呼系統合法嗎 杭州網絡外呼系統運營商

如:查詢ZJ_STANDARD_ITEM表的name1字段包含"_("的數據

--以下的查詢語句執行會發現所查詢的數據并不是我們想要數據
select * from ZJ_STANDARD_ITEM t where t.name1 like '%_(%';

原因分析

下劃線“_”在oracle中不是單純的表示下劃線的意思,而是表示匹配單一任何字符! 如以上查詢語句就表示"("左邊只要有任意字符都會被查詢到

【解決辦法】

使用 escape() 函數

escape關鍵字經常用于使某些特殊字符,如通配符:'%','_‘轉義為它們原來的字符的意義,被定義的轉義字符通常使用'',但是也可以使用其他的符號。

例如:上面的條件語句可以寫成where t.name1 like '%_(%'escape ‘';,這個“\”可以改為其他的字符

--使用escape函數將"_"轉為下劃線的含義
select t.name1 from ZJ_STANDARD_ITEM t where t.name1 like '%\_(%'escape '\';

知識點擴展:Oracle中LIKE模糊查詢的使用

Like 模糊查詢
占位符
% 替代一個或多個字符
_ 僅替代一個字符

[charlist] 字符列中的任何單一字符

[^charlist] 或者 [!charlist] 不在字符列中的任何單一字符

(1)查詢 用戶名以‘S'開頭的員工信息

  Select * from emp where ename like 'S%'

(2)查詢 用戶名以‘S'結尾的員工信息

 Select * from emp where ename like '%S'

(3)查詢用戶名第二個字母是‘A'的員工信息

  select * from emp where ename like '_A%'

(4)查詢用戶名第三個字母是‘A'的員工信息

  select * from emp where ename like '__A%'

(5)查詢用戶名中包含 ‘A' 的員工信息

  select * from emp where ename like '%A%'

(6)查詢用戶名中不包含 ‘A' 的員工信息

  select * from emp where ename not like '%A%'

(7)從 "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:

 SELECT * FROM Persons WHERE City LIKE '[ALN]%'

(8)從 "Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

到此這篇關于Oracle使用like查詢時對下劃線的處理的文章就介紹到這了,更多相關Oracle like查詢下劃線處理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Oracle如何實現like多個值的查詢
  • oracle sql語言模糊查詢--通配符like的使用教程詳解
  • Oracle中Like與Instr模糊查詢性能大比拼
  • Oracle 模糊查詢及like用法

標簽:柳州 南陽 銀川 梧州 酒泉 焦作 泰安 河源

巨人網絡通訊聲明:本文標題《Oracle使用like查詢時對下劃線的處理方法》,本文關鍵詞  Oracle,使用,like,查詢,時,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle使用like查詢時對下劃線的處理方法》相關的同類信息!
  • 本頁收集關于Oracle使用like查詢時對下劃線的處理方法的相關信息資訊供網民參考!
  • 推薦文章
    2020久久精品亚洲|久久窝窝国产精品午夜看片|亚洲 日韩 激情 无码 中出|国产精品乱码高清在线