oracle的格式化數值和字串函式

2021-08-10 15:10:44 字數 2199 閱讀 7060

格式化數值和字串函式

格式化數值---to_char()函式  :

格式字元『0』:

「0」代表乙個數字位,當原數值沒有數字位與之匹配的時候,強制新增0 

如 : to_char(46.12,'0000.000') 輸出0046.120

to_char(46.12,'00') 輸出46,因為沒有給小數部分

to_char(46.12,'0') 輸出##,因為沒有足夠的整數字給他

格式字元「9」: 

「9」代表乙個數字位,當原數字部分中的整數沒有數字位匹配時,不填充任何字元

如  to_char(46.12,'99.9')輸出46.1

to_char(46.12,'999.999')輸出46.120,整數多餘的部分不加任何字元

格式字元 「,」 

逗號是分組符號。常見的應用為千位分隔符

to_char(4006.12,'99,999') 輸出4,006

to_char(4006.12,'99,999.00')輸出4,006.12

格式字元「fm」 

他的意義在於遮蔽掉所有不必要的0

to_char(46,'fm99.99')輸出46. 後面的0 遮蔽掉了

格式字元「l」

他表示中國貨幣 ¥ ,在數值面前新增     ¥

to_char(46,'l99.99')輸出 ¥46.00

to_char(46,'fml99.99')輸出 ¥46.

格式字元 「c」 

在其最後新增 「cny」-->china yuan

to_char(46,'fm99.99c')輸出 46.ncy

字串函式

ltrim()函式:用於去除字串前面的所有空格

rtrim()函式:用於去除字串尾部的所有空格

trim()函式 :用以去除字串兩側的所有空格

select distinct trim(列1) len from a  去除列1兩邊的空格

求字串長度的函式 >>length()

select distinct length('') len from a 輸出為null

select distinct length('42.12') len from a 輸出為5,他是按字串計算的

ascii()  將第乙個字元轉化為ascii()碼值

chr(n)求對應的ascii()字元 ,n為數字

如  :select distinct chr(65) from a; 輸出為a;為ascii()反向操作

lower()函式  :把字串全部轉換為小寫

upper()函式  :把字串全部轉換為大寫

initcap()函式:單詞的首歌字元大寫

concat()函式:把提供的兩個引數連線起來,返回連線後的字串

select distinct concat('nihao','shijie') hao from a;輸出nihaoshijie;

||運算子,表連線,可連線多個

select distinct concat('nihao','shijie'||'wo'||'ta') hao from a;

輸出nihaoshijiewota.連線是不用逗號隔開。

instr()函式:instr(列名或字串,'查詢的字串') 檢索字串出現的位置,有出現輸出1,沒有找到就輸出0

substr()函式:substr(列名或字串,i,j) i,j 均為整數,如果j=0,就輸出到最後一位,  select distinct substr('nihao',3) sub from a;輸出  hao

replace()函式:以指定的字串代替需要替換的字串   

replace( 列名,1,2)用2來替換1  

如select distinct replace('nihao','ni','ta') sub from a;輸出為 tahao。

lpad():左填充函式  lpad('字串1',i,'字串2'),i為整數,字串1的長度小於i的話,用字串2來就行填充,填充在左邊,如果字串1>i的話,留下i個

如   select distinct lpad('nihao','3','ta') sub from a;輸出nih

如   select distinct lpad('nihao','7','ta') sub from a;輸出tanihao

rpad()函式:用法同lpad()函式類似,為右填充函式,其他同上一樣

數值字元的格式化

記得有朋友在csdn裡問如何格式化乙個數值字串,比如 457354745 格式化成 457,354,745.00 其中有很多朋友給出了自己的解析函式。其實win32 中有現在的api可以解決這個問題。這個api函式就是 int getnumberformat lcid locale locale d...

格式化,強調 數值格式化

聚合函式返回的的數值型別的值有個特點就是沒有被格式化。通過前面的帶 sum 聚合函式的示例,我們可以看到這一點 注意合計值 命令,或者在物件檢視器中選中 displayformat 屬性。在上節的示例中,格式化操作是針對一物件或物件內的表示式,在物件內僅有乙個表示式時它還能正常工作,不過當物件內不有...

C ToString 格式化數值

格式字串採用以下形式 axx,其中 a 為格式說明符,指定格式化型別,xx 為精度說明符,控制格式化輸出的有效位數或小數字數。格式說明符 說明 示例 輸出 c 貨幣 2.5.tostring c 2.50 d 十進位制數 25.tostring d5 00025 e 科學型 25000.tostri...