射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁 > IT認(rèn)證 > oracle認(rèn)證 >

replace和translate函數(shù)詳解


replace和translate函數(shù)詳解

簡(jiǎn)要比較:

    replace:字符串級(jí)別的代替

    如:SELECT REPLACE('acdd','cd','ef') FROM dual; →aefd

    translate:字符級(jí)別的代替

    如:SELECT TRANSLATE('acdd','cd','ef') FROM dual; →aeff

    分別詳解:

    replace:

    語法:REPLACE ( char , search_string [, replacement_string] )

    解釋:repalce中,每個(gè)search_string都被replacement_string所代替。

    select replace('acdd','cd','ef') from dual;→ aefd

    如果replacement_string為空或?yàn)镹ULL,那么所有的search_string都被移除。

    select replace('acdd','cd','') from dual;→ad

    如果search_string為null,那么就返回原來的char。

    select replace('acdd','','ef') from dual;→acdd

    select replace('acdd','','') from dual;→acdd(也是兩者都為空的情況)

    translate:

    語法:TRANSLATE ( 'char' , 'from_string' , 'to_string' )

    解釋:Translate中,每個(gè)from_string中的字符被to_string中相應(yīng)的字符所代替。

    select translate('acdd','cd','ef') from dual;→aeff

    如果from_string比to_string長,那么from_string中多余的字符將被移除。

    select translate('acdd','acd','ef') from dual;→ef (a由e代替,c由f代替,d就被移除)

    select translate('acdd','cda','ef') from dual;→eff(c由e代替,d由f代替,a就被移除)

    如果to_string為空,或者兩者都為空,那么返回char也為空。所以to_string不能為空。

    select translate('acdd','cd','') from dual;→ (空)

    select translate('acdd','','') from dual;→(空)

    實(shí)戰(zhàn):

    如何判斷一個(gè)字符串是否是數(shù)字?

    解:先轉(zhuǎn)換:由于to_string不能為空,我們巧用#號(hào)代替

    select translate('abc123','#1234567890.','#') from dual;→abc

    from_string中的#被to_string中的#代替,但char中又沒有#字符,所以通過這一步躲開了to_string必須不為空的規(guī)則。然后后面的數(shù)字以及小數(shù)點(diǎn)都轉(zhuǎn)換為空,于是原來的字符串中只留下abc三個(gè)字符。

    轉(zhuǎn)換好后,用nvl2判斷即可:

    select nvl2(translate('abc123','#1234567890.','#'),'字符串','數(shù)字') from dual;→字符串

    nvl2的作用就是,NVL2 (expr1, expr2, expr3) ->expr1不為NULL,返回expr2;為NULL,返回expr3。這樣我們就可以判斷一個(gè)字符串是否是數(shù)字了!解畢!

相關(guān)文章

無相關(guān)信息
更新時(shí)間2022-03-13 11:11:03【至頂部↑】
聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號(hào)) | 

付款方式留言簿投訴中心網(wǎng)站糾錯(cuò)二維碼手機(jī)版

客服電話: