selecttrim('aaa')fromdual;
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、聞喜網(wǎng)站維護(hù)、網(wǎng)站推廣。
selectLtrim('aaa')fromdual;
selectRtrim('aaa')fromdual;
selectRtrim(Ltrim('aaa'))fromdual。
Oracle Database是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。到目前仍在數(shù)據(jù)庫市場上占有主要份額。作為一個(gè)通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用。
系統(tǒng)具有:可用性強(qiáng)、可擴(kuò)展性強(qiáng)、數(shù)據(jù)安全性強(qiáng)、穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)。
首先便是這Trim函數(shù)。Trim 函數(shù)具有刪除任意指定字符的功能,而去除字符串首尾空格則是trim函數(shù)被使用頻率最高的一種。語法Trim ( string ) ,參數(shù)string:string類型,指定要?jiǎng)h除首部和尾部空格的字符串返回值String。函數(shù)執(zhí)行成功時(shí)返回刪除了string字符串首部和尾部空格的字符串,發(fā)生錯(cuò)誤時(shí)返回空字符串("")。 如果參數(shù)值為null時(shí),會(huì)拋出空指針異常。在oracle中,trim使用的形式多為人rtrim()與ltrim()兩種,分別為去除字符串右邊空格與去除字符串左邊空格。
當(dāng)然trim的功能不止如此,下面進(jìn)行細(xì)致的介紹,這里我多以去除字符串空格為例。
我們看下trim函數(shù)的語法描述:trim( [ { {leading|trailing|both} [trim_character]|trim_character} from] trim_source
1)、不使用任何參數(shù)
SQL select trim(' 11 ') aa from dual;
AA
--
11
這是最常見的一種使用方法,都使用默認(rèn)的參數(shù),默認(rèn)情況下TRIM會(huì)同時(shí)刪除字符串前后出現(xiàn)的空格。
2)、使用both參數(shù),效果等同于方法一不使用任何參數(shù)
SQL select trim(both from ' 11 ') aa from dual;
AA
--
11
“BOTH”參數(shù)表示同時(shí)去除字符串前后所指定的內(nèi)容(默認(rèn)情況下刪除空格)。
3)、使用leading與trailing參數(shù)
SQL select trim(leading from ' 11 ') aa from dual;
AA
----
11
SQL select trim(trailing from ' 11 ') aa from dual;
AA
-----
11
從結(jié)果中得分隔符'-',可以發(fā)現(xiàn)使用leading參數(shù)可以去除字符串右端的空格,而trailing參數(shù)則可以去除字符串左端的空格。正如oracle提供的rtrim()與ltrim()。
4)、使用trim_character參數(shù)
trim_character參數(shù)改變了“刪除空格”的默認(rèn)行為。如果想要?jiǎng)h除字符串'xxxxWORLDxxxx'前后出現(xiàn)的“x”,“trim_character”參數(shù)就派上用場了。
SQL select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
trim_character配合“both”、“trailing”和“l(fā)eading”三個(gè)參數(shù)使用效果如下,與之前演示類似。看結(jié)果,不贅述。
SQL select trim('x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL select trim(both 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
-----
WORLD
SQL select trim(trailing 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
xxxxWORLD
SQL select trim(leading 'x' from 'xxxxWORLDxxxx') aaaaa from dual;
AAAAA
---------
WORLDxxxx
必須注意的一點(diǎn)是這里的“trim_character”參數(shù)只允許包含一個(gè)字符,不支持多字符。trim不能滿足我們?nèi)コ嘧址?,但是我們可以使用rtrim和ltrim來處理。
1)使用rtrim
SQL select rtrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
ORxxxxWORLDxxxx
2)使用ltrim
SQL select ltrim('ORxxxxWORLDxxxxOR','OR') aaaaa from dual;
AAAAA
---------------
xxxxWORLDxxxxOR
3)聯(lián)合使用RTRIM和LTRIM函數(shù)達(dá)到我們的目的
SQL select rtrim(ltrim('ORxxxxWORLDxxxxOR','OR'),'OR') aaaaa from dual;
AAAAA
-------------
xxxxWORLDxxxx
使用rtrim和ltrim函數(shù)時(shí)的注意事項(xiàng):“OR”不表示整個(gè)“OR”字符串進(jìn)行匹配,而是發(fā)現(xiàn)任意的字符“O”或字符“R”均做刪除操作。
對(duì)于trim函數(shù)的應(yīng)用就介紹到,下面介紹一下replace函數(shù),個(gè)人覺得replace函數(shù)在去空格時(shí)更好用。replace 函數(shù)用第三個(gè)表達(dá)式替換第一個(gè)字符串表達(dá)式中出現(xiàn)的所有第二個(gè)給定字符串表達(dá)式。來看下replace函數(shù)的語法描述:replace('string_replace1','string_replace2','string_replace3')
'string_replace1' 待搜索的字符串表達(dá)式,string_replace1 可以是字符數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。
'string_replace2' 待查找的字符串表達(dá)式,string_replace2 可以是字符數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。
'string_replace3' 替換用的字符串表達(dá)式,string_replace3 可以是字符數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。
返回類型,如果 string_replace(1、2 或 3)是支持的字符數(shù)據(jù)類型之一,則返回字符數(shù)據(jù);如果 string_replace(1、2 或 3)是支持的 binary 數(shù)據(jù)類型之一,則返回二進(jìn)制數(shù)據(jù)。
這里我們依然以去空格為例。
SQL select replace(' aa kk ',' ','') abcd from dual;
ABCD
----
aakk
與使用trim函數(shù)的結(jié)果進(jìn)行對(duì)比,我們可以發(fā)現(xiàn),使用replace函數(shù)不僅可以去除字符串兩端的空格,也可去除字符串內(nèi)部的空格。
當(dāng)然,如果只是要去除字符串兩端的空格,使用trim函數(shù)效率會(huì)更高。
replace(a.xxxx,' ','');把空格替換為空
一般空格就是一個(gè)空,\t這種空格我沒見過不知道你說的是哪種,一般特殊字符不是用\表示的,比如換行符的表示方法是chr(13)
方法一:char在數(shù)據(jù)庫中存儲(chǔ)總是將不足定義長度以空格填補(bǔ),使用varchar2數(shù)據(jù)類型就不會(huì)自動(dòng)空格填補(bǔ)了。
方法二:
在查詢的時(shí)候使用replace函數(shù),將空格去掉。replace(columnname,'
','')
update table set name=replace(name," ","");select replace(name," ","") from table;
兩種方式均可,第一種將數(shù)據(jù)庫中數(shù)據(jù)改變,第二種不改變數(shù)據(jù)庫中的數(shù)據(jù),直接查詢。需要用到replace()函數(shù)。含義為:替換字符串;replace(原字段,“原字段舊內(nèi)容“,“原字段新內(nèi)容“)。
擴(kuò)展資料:
oracle常用字符串函數(shù)
1、CHR
語法: chr(x)
功能:返回在數(shù)據(jù)庫字符集中與X擁有等價(jià)數(shù)值的字符。CHR和ASCII是一對(duì)反函數(shù)。經(jīng)過CHR轉(zhuǎn)換后的字符再經(jīng)過ASCII轉(zhuǎn)換又得到了原來的字符。
使用位置:過程性語句和SQL語句。
2、CONCAT
語法:?CONCAT(string1,string2)
功能:返回string1,并且在后面連接string2。
使用位置:過程性語句和SQL語句。
3、INITCAP
語法:INITCAP(string)
功能:返回字符串的每個(gè)單詞的第一個(gè)字母大寫而單詞中的其他字母小寫的string。單詞是用.空格或給字母數(shù)字字符進(jìn)行分隔。不是字母的字符不變動(dòng)。
使用位置:過程性語句和SQL語句。
4、LTRIM
語法:LTRIM(string1,string2)
功能:返回刪除從左邊算起出現(xiàn)在string2中的字符的string1。String2被缺省設(shè)置為單個(gè)的空格。數(shù)據(jù)庫將掃描string1,從最左邊開始。當(dāng)遇到不在string2中的第一個(gè)字符,結(jié)果就被返回了。LTRIM的行為方式與RTRIM很相似。
使用位置:過程性語句和SQL語句。
5、NLS_INITCAP
語法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每個(gè)單詞第一個(gè)字母大寫而單詞中的其他字母小寫的string,nlsparams
指定了不同于該會(huì)話缺省值的不同排序序列。如果不指定參數(shù),則功能和INITCAP相同。Nlsparams可以使用的形式是:
去除換行
update?zhzl_address?t?set?t.add_administration_num=replace(t.add_administration_num,chr(10),'');
去掉回車
update?zhzl_address?t?set?t.add_administration_num=replace(t.add_administration_num,chr(13),'');
去掉空格
update?zhzl_address?t?set?t.add_administration_num=trim(t.add_administration_num);
本文名稱:oracle空格怎么去掉 oracle如何去空格
當(dāng)前網(wǎng)址:http://chinadenli.net/article26/hgcojg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航、網(wǎng)站改版、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)