oracle中查詢含字母的資料 正規表示式

2021-09-24 22:35:26 字數 1243 閱讀 3543

1,regexp_like :與like的功能相似

2,regexp_instr :與instr的功能相似

3,regexp_substr :與substr的功能相似

4,regexp_replace :與replace的功能相似

它們在用法上與oracle sql 函式like、instr、substr 和replace 用法相同,

但是它們使用posix 正規表示式代替了老的百分號(%)和萬用字元(_)字元。

posix 正規表示式由標準的元字元(metacharacters)所構成:

'^' 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接受該字元集合。

'$' 匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹

配 '/n' 或 '/r'。

'.' 匹配除換行符之外的任何單字元。

'?' 匹配前面的子表示式零次或一次。

'+' 匹配前面的子表示式一次或多次。

'*' 匹配前面的子表示式零次或多次。

'|' 指明兩項之間的乙個選擇。例子'^([a-z]+|[0-9]+)$'表示所有小寫字母或數字組合成的

字串。

'( )' 標記乙個子表示式的開始和結束位置。

'' 標記乙個中括號表示式。

'' 乙個精確地出現次數範圍,m=《出現次數<=n,''表示出現m次,''表示至少

出現m次。

/num 匹配 num,其中 num 是乙個正整數。對所獲取的匹配的引用。

字元簇:

[[:alpha:]] 任何字母。

[[:digit:]] 任何數字。

[[:alnum:]] 任何字母和數字。

[[:space:]] 任何白字元。

[[:upper:]] 任何大寫字母。

[[:lower:]] 任何小寫字母。

[[:punct:]] 任何標點符號。

[[:xdigit:]] 任何16進製制的數字,相當於[0-9a-fa-f]。

各種操作符的運算優先順序

/轉義符

(), (?:), (?=), 圓括號和方括號

*, +, ?, , , 限定符

^, $, anymetacharacter 位置和順序

使用方法:

select dabh from qtywb where regexp_like(dabh, '[[:alpha:]]');

Oracle查詢表中指定欄位的資料是否含有某個字元

oracle查詢表中指定欄位的資料是否含有某個字元 採用user table column即可,www.2cto.com 該檢視主要字段說明如下 table name 表 檢視或clusters名稱 column name 列名 data type 資料型別 我的需求如下 要在當前使用者的表裡面找到...

Oracle資料庫中的連線查詢

連線查詢 連線查詢指的是多張資料庫進行連線然後查詢資料,連線查詢又分為內連線查詢和外連線查詢。內連線查詢 內連線的特點 只有滿足條件的資料才會被顯示。demo 查詢雇員的編號,姓名,職位,薪資,部門位置和部門編號。先在emp表中新增一條資料 開始查詢 或者 我們可以看到新增進去的二哈沒有被查詢到,d...

ORACLE中的模糊查詢

oracle中的模糊查詢是靠like操作符來完成的。現在我們來看一下like操作符使用過程中的一些具體的問題 代表0個或者多個字元 下劃線 代表乙個字元 比如 1 select ename from emp where ename like s 上面這個例子查詢出的是以大寫s為名字首字母的員工的員工...