首頁 資料庫 mysql教程 oracle字符/字符串替换

oracle字符/字符串替换

Jun 07, 2016 pm 05:46 PM
字串替換

在ORACLE中的字符串替换 replce、regexp_replace 和 translate函数,下面我来给大家介绍一下。

在ORACLE中的字符串替换 replce、regexp_replace 和 translate函数,下面我来给大家介绍一下。

一、语法

repalce(str_source,str1,str2)  把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同

replace(str_source,str1)         把str_source 中的 str1 字符串剔除

regexp_replace(str_source,pattern_str,rep_str) 支持正则表达式,用法类似于 replace,但功能更强大

regexp_replace(str_source,pattern_str)   把 str_source 中的 pattern_str 字符串剔除

translate(str_source,chr1,chr2) 以字符为单位,把 str_source 中的 chr1 字符对应替换为 chr2。如果 chr1 比chr2 长,那么在 chr1 中而不在 chr2 中的字符将被剔除,因为没有对应的替换字符。需注意 chr2 不能为 null 或'',否则返回值也为空


REPLACE 函数是用另外一个值来替代串中的某个值。例如,可以用一个匹配数字来替代字母的每一次出现。REPLACE 的格式如下所示:

1.REPLACE ( char, search_string [, replace_string]) 如果没有指定replace_string 变量的值,那么当发现search_string 变量的值时,就将其删除。输入可以为任何字符数据类型——CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB或NCLOB。

--------------------------------------------------------------------------------------------------

2、REGEXP_REPLACE 函数在几个方面扩展了REPLACE 函数的功能。它支持在搜索模式中使用正则表达式,也支持本章前面描述的变量,即position、occurrence 和match_parameter,从而可以选择只替代某些匹配的值,或者不区分大小写。

 

 代码如下 复制代码

REGEXP_REPLACE( source_string, pattern 

[, replace_string 

[, position 

[, occurrence 

[, match_parameter ] 

)

除了replace_string,这里所有的变量都已经在本章前面章节作了介绍。replace_string 告诉Oracle 用什么来替代source_string 中与pattern 匹配的部分。occurrence 变量是一个非负整数,它指定操作的次数:如果为0,则所有的匹配项都被替代;如果指定一个正数,则Oracle替代第n 次匹配。

 代码如下 复制代码

1.select REGEXP_SUBSTR (Phone, 
2.'([[:digit:]]{3})-([[:digit:]]{3})-([[:digit:]]{4})' 
3.) "REGEXP_SUBSTR" 
4.from ADDRESS; 
5.REGEXP_SUBST 
6.------------ 
7.213-555-0223 
8.415-555-7530 

实例

SQL> select replace('4683,968,969',',','$') from dual;

REPLACE('4683,968,969',',','$'
------------------------------
4683$968$969

SQL> select to_number('520') from dual;

TO_NUMBER('520')
----------------
 520


------------------------------------------------------------------------------------------------------------

3、一个字符替换函数translate,不同于replace函数的是,translate函数是字符级别的替换,而不是字符串的替换。

其语法如下:

TRANSLATE ( expr , from_string , to_string )

简单的说就是对expr内容,用to_string中的字符逐一替换from_string 中的字符,举例说明如下:

 代码如下 复制代码

SQL> select translate('123456789','456','abc') from dual;

TRANSLATE
---------
123abc789

SQL> select translate('123456789','456','ab') from dual;

TRANSLAT
--------
123ab789

SQL> select translate('123456789','4564','a') from dual;

TRANSLAT
-------
123a789


select translate('abcc123a','abc','-+='),translate('abcc123a','abc','-+'),translate('abcc123a','#abc','#') from dual;

 TRANSLATE('ABCC123A','ABC','-+ TRANSLATE('ABCC123A','ABC','-+ TRANSLATE('ABCC123A','#ABC','#
------------------------------ ------------------------------ ------------------------------

-+==123-                       -+123-                         123
1、用字符'-'、'+'、'='对应替换'a','b','c'字符;

2、'abc'长度为 3,'-+'长度为 2,字符'c'没有对应的字符来替换,因此被剔除掉;

3、剔除掉字符'a'、'b'、'c',translate 有 # 的特殊用法,以 # 开头的表示所有字符

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php怎麼替換回車鍵 php怎麼替換回車鍵 Mar 23, 2023 am 11:12 AM

在PHP程式開發當中,有時需要對文字內容進行處理,其中處理中包括替換回車鍵。下面我們將簡要介紹如何在PHP中實現替換回車鍵。

如何用php正規取代以什麼開頭的字串 如何用php正規取代以什麼開頭的字串 Mar 24, 2023 pm 02:57 PM

PHP正規表示式是一種針對文字處理和轉換的強大工具。它可以透過解析文字內容,並依照特定的模式進行替換或截取,達到有效管理文字資訊的目的。其中,正規表示式的一個常見應用是替換以特定字元開頭的字串,對此,我們進行如下的講解

如何在PHP中使用正規表示式替換字串中的特殊字符 如何在PHP中使用正規表示式替換字串中的特殊字符 Jun 24, 2023 am 10:46 AM

隨著網路的不斷發展,PHP的應用場景越來越廣泛。在PHP的開發中,有時需要替換字串中的特殊字符,這時可以使用正規表示式進行替換。本文將介紹如何使用正規表示式在PHP中取代字串中的特殊字元。首先,了解一下正規表示式的基礎知識。正規表示式是一種語言,用來描述一些字串的模式。正規表示式包括一些特殊字符,例如.、*、+、?等,這些特殊字符有特殊的含義。在PH

php怎麼從左邊替換字串 php怎麼從左邊替換字串 Mar 23, 2023 pm 04:53 PM

PHP是一個廣泛使用的腳本語言,可以用來開發各種網路應用程式和網站。在這些應用中,字串是一個不可或缺的部分。在很多情況下,我們需要對字串進行替換、拆分或截取等操作。本文將介紹如何在PHP中從左邊替換字串。

PHP中的preg_replace()函數:如何使用正規表示式替換字串 PHP中的preg_replace()函數:如何使用正規表示式替換字串 Nov 03, 2023 am 09:09 AM

PHP中的preg_replace()函數:如何使用正規表示式替換字串,需要具體程式碼範例在PHP中,preg_replace()函數是一個非常強大且靈活的函數,它允許我們使用正則表達式來搜尋和替換字符串。無論是去除字串中的特定字符,還是替換特定格式的文本,preg_replace()函數可以幫助我們輕鬆實現。首先,我們來看看preg_replace()

php如何替換冒號後面的11位數 php如何替換冒號後面的11位數 Mar 21, 2023 pm 04:32 PM

替換字串是PHP中最基本的操作之一。替換功能在資料處理和字串操作中至關重要,能夠提高程式執行效率和效能。在PHP中替換字串的函數有很多,如:substr_replace,str_replace,preg_replace等等。但是對於特定的字串替換,可能需要使用特殊的替換規則。在本文中,我們將學習如何替換冒號後面的11位數。

php替換空字串失敗怎麼解決 php替換空字串失敗怎麼解決 Mar 23, 2023 pm 03:51 PM

在PHP開發中,字串替換是非常常見的操作。然而,有時在進行字串替換時,可能會遇到替換空字串的情況,而結果卻不盡人意。本文將探討為什麼PHP替換空字串會失敗,並提供解決方案。

使用strings.Replace函數取代字串中的子字串,並設定替換次數 使用strings.Replace函數取代字串中的子字串,並設定替換次數 Jul 25, 2023 am 08:28 AM

使用strings.Replace函數取代字串中的子字串,並設定替換次數在Go語言中,我們可以使用strings.Replace函數來取代字串中的子字串。此函數的簽章如下:funcReplace(s,old,newstring,nint)string其中,s表示原始字串,old表示要被取代的子字串,new表示替換後的子字串,n表示替換幾次。下面通

See all articles