用法介紹
REPLACE(char, search_string [, replacement_string ] )
char : 等待替換的字串
search_string : 搜尋需要替換的字串
replacement_string : 替換字串
如果replacement_string預設或者為null,那麼所有char中出現的search_string 都將被移除
如果search_string為null,那麼結果就是char
| 代碼如下 |
複製代碼 |
SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL; |
例1
把資料庫中‘2011-10-11’ 的格式,結果匯入的資料為 ‘2011/10/11’
| 代碼如下 |
複製代碼 |
update 表1 t set t.列1=replace((select 列1from 表1 a where a.主鍵列=t.主鍵列) , '/' , '-' ) 解決了我們問題。 |
replace 字串層級的代替
如:
| 代碼如下 |
複製代碼 |
| SELECT REPLACE('accd','cd','ef') from dual; --> aefd |
translate 字元層級的代替
如:
| 代碼如下 |
複製代碼 |
| select translate('acdd','cd','ef') from dual; -->aeff |
分別詳解
replace:
文法:REPLACE(char,search_string[,replacement_string])
解釋:replace中,每個search_string都被replacement_string所代替
| 代碼如下 |
複製代碼 |
select replace('acdd','cd','ef') from dual; --> aefd |
如果replacement_string為空白或為null,那麼所有的search_string都被移除
| 代碼如下 |
複製代碼 |
select replace('acdd','cd','') from dual; --> ad |
如果search_string 為null,那麼就返回原來的char
| 代碼如下 |
複製代碼 |
select replace('acdd','ef') from dual; -->acdd elect replace('acdd','','') from dual; -->acdd |
(也是兩者都為空白的情況)