真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解oracletranslate()

這篇文章給大家介紹如何理解oracle translate() ,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

東昌網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

一、語(yǔ)法:
TRANSLATE(string,from_str,to_str)


二、目的
返回將(所有出現(xiàn)的)from_str中的每個(gè)字符替換為to_str中的相應(yīng)字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一個(gè)超集。如果 from_str 比 to_str 長(zhǎng),那么在 from_str 中而不在 to_str 中的額外字符將從 string 中被刪除,因?yàn)樗鼈儧](méi)有相應(yīng)的替換字符。to_str 不能為空。Oracle 將空字符串解釋為 NULL,并且如果TRANSLATE 中的任何參數(shù)為NULL,那么結(jié)果也是 NULL。


三、允許使用的位置
過(guò)程性語(yǔ)句和SQL語(yǔ)句。


四、示例
Sql代碼

1. SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;
2. TRANSLATE (
3. --------------
4. 123456ghij
5.
6. SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
7. TRANSL
8. ----------
9. 123456



語(yǔ)法:TRANSLATE(expr,from,to)

expr: 代表一串字符,from 與 to 是從左到右一一對(duì)應(yīng)的關(guān)系,如果不能對(duì)應(yīng),則視為空值。


舉例:

select translate('abcbbaadef','ba','#@') from dual?。╞將被#替代,a將被@替代)

select translate('abcbbaadef','bad','#@') from dual?。╞將被#替代,a將被@替代,d對(duì)應(yīng)的值是空值,將被移走)

因此:結(jié)果依次為:@#c##@@def 和@#c##@@ef


語(yǔ)法:TRANSLATE(expr,from,to)

expr: 代表一串字符,from 與 to 是從左到右一一對(duì)應(yīng)的關(guān)系,如果不能對(duì)應(yīng),則視為空值。


舉例:

select translate('abcbbaadef','ba','#@') from dual?。╞將被#替代,a將被@替代)

select translate('abcbbaadef','bad','#@') from dual (b將被#替代,a將被@替代,d對(duì)應(yīng)的值是空值,將被移走)

因此:結(jié)果依次為:@#c##@@def 和@#c##@@ef

示例如下:

示例一:將數(shù)字轉(zhuǎn)換為9,其他的大寫(xiě)字母轉(zhuǎn)換為X,然后返回。

SELECT TRANSLATE('2KRW229',


            '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',


                           '9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') "License"


              FROM DUAL

示例二:將數(shù)字保留,將其他的大寫(xiě)字母移除。

SELECT TRANSLATE('2KRW229',


                       '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',


'0123456789') "Translate example"


 FROM DUAL

示例三:示例證明是按照字符來(lái)處理,不是按照字節(jié)來(lái)處理,如果to_string的字符數(shù)比f(wàn)rom_string多的話,多出的字符數(shù)似乎沒(méi)有什么用處,也不會(huì)引發(fā)異常。

SELECT TRANSLATE('我是中國(guó)人,我愛(ài)中國(guó)', '中國(guó)', 'China') "Translate              

 example"

FROM DUAL

示例四:下面的示例證明,如果from_string的字符數(shù)大于to_string,那么多出的字符會(huì)被移除,也就是ina三個(gè)字符會(huì)從char參數(shù)中移除,當(dāng)然區(qū)分大小寫(xiě)啦。

SELECT TRANSLATE('I am Chinese, I love China', 'China', '中國(guó)') "Translate

example"

FROM DUAL

示例五:以下示例證明,如果第二個(gè)參數(shù)為空字符串,整個(gè)返回null。

SELECT TRANSLATE('2KRW229',


              '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',


               '') "License"


        FROM DUAL

示例六:在銀行轉(zhuǎn)帳時(shí)經(jīng)??匆?jiàn)賬戶人只顯示姓名的最后一個(gè)字,其余的用星號(hào)代替,我就用translate來(lái)做個(gè)類似的東西吧。

SELECT TRANSLATE('中國(guó)人',

substr('中國(guó)人',1,length('中國(guó)人') - 1),

rpad('*',length('中國(guó)人'),'*')) "License"

FROM DUAL

關(guān)于如何理解oracle translate() 就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章標(biāo)題:如何理解oracletranslate()
文章轉(zhuǎn)載:http://weahome.cn/article/jjccpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部