替換某個欄位中某乙個字
有這樣乙個需求,替換memo欄位中的乙個字,例如,將「***應付」都替換成「***實付」,其他字不變。傳統的update語句做這種更新是非常麻煩的,從10g開始,我們可以使用正規表示式來實現。
selectregexp_replace(memo,'應
','實
')fromtable_awherecode =
'102';
updatetable_a asetmemo = regexp_replace(memo,'應
','實
')wherea.code =
'102';
其他正則函式介紹
regexp_like:正則like
select first_name, last_name
from employees
where regexp_like (first_name, '^ste(v|ph)en
first_name last_name
-------------------- -------------------------
steven king
steven markle
stephen stiles
regexp_instr:判斷符合正則條件的位數
'500 oracle parkway, redwood shores, ca'
源字串
'[s|r|p][[:alpha:]]'
正則模式,以
s|r|p
開頭,6
個字母
3 開始位置,預設是1
2 oracle
搜尋滿足第
2個模式的發生,預設是1
1 返回滿足模式的後面的字串,預設是0
i 大小寫不敏感
select
regexp_instr('500 oracle parkway, redwood shores, ca',
'[s|r|p][[:alpha:]]', 3, 2, 1, 'i') "regexp_instr"
from dual;
regexp_instr
------------
28
regexp_substr
取子串
select
regexp_substr('',
'http://([[:alnum:]]+\.?)/?') "regexp_substr"
from dual;
regexp_substr
----------------------
wonder
2008-03-20 );
___fckpd___3
___fckpd___4
___fckpd___5
___fckpd___6
___fckpd___7
___fckpd___8
regexp_instr:判斷符合正則條件的位數
'500 oracle parkway, redwood shores, ca'
源字串
'[s|r|p][[:alpha:]]'
正則模式,以
s|r|p
開頭,6
個字母
3 開始位置,預設是1
2 oracle
搜尋滿足第
2個模式的發生,預設是1
1 返回滿足模式的後面的字串,預設是0
i 大小寫不敏感
___fckpd___9
___fckpd___10
___fckpd___11
___fckpd___12
___fckpd___13
___fckpd___14
___fckpd___15
___fckpd___16
regexp_substr
取子串
___fckpd___17
___fckpd___18
___fckpd___19
___fckpd___20
___fckpd___21
___fckpd___22
___fckpd___23
___fckpd___24
wonder
2008-03-20
sql正規表示式 SQL中的正規表示式
sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...
正規表示式替換
正規表示式替換 每行的資料格式為 vcbi zuuu 001a465 kakid legos 要求變為格式為 vcbizuuu001 a465 kakid legos 替換掉第一部分和第二部分中間的空格,第二部分和第三部分中間的空格,其他的保持乙個空格 string originalstring v...
正規表示式 替換
正規表示式 替換 正規表示式 符合一定規則的而表示式.作用 用於專門操作字串。特點 用於一些特定的符號來表示一些 操作。這樣就簡化書寫。所以學習正規表示式 好處 可以簡化對字串的複雜操作。弊端 符號定義越多,正則越長,閱讀性越差 具體操作功能 1,匹配 string matches 方法.用規則整個...