1. 程式人生 > >轉 Oracle中關於處理小數點位數的幾個函式,取小數位數,Oracle查詢函式

轉 Oracle中關於處理小數點位數的幾個函式,取小數位數,Oracle查詢函式

 1 關於處理小數點位數的幾個oracle函式()
 2 1. 取四捨五入的幾位小數
 3 select round(1.2345, 3) from dual;
 4 結果:1.235
 5 2. 保留兩位小數,只舍
 6 select trunc(1.2345, 2) from dual;
 7 結果:1.23
 8 
 9 select trunc(1.2399, 2) from dual;
10 
11 結果:1.23
12 3.取整數
13 返回大於或等於x的最大整數:  
14         SQL>         select         ceil(23.33)         from         dual;  
15 結果:   24 
16 
17  
18 
19 返回等於或小於x的最大整數:  
20         SQL>         select         floor(23.33)         from         dual;  
21 結果:   23  
22    
23 返回舍入到小數點右邊y位的x值:rcund(x,[y])  
24         SQL>         select         round(23.33)         from         dual;  
25 結果:    23  
26    
27 返回截尾到y位小數的x值:trunc(x,[y])  
28         SQL>         select         trunc(23.33)         from         dual;  
29 結果:   23 
30 
31 
32 格式化數字
33 
34  The following are number examples for the to_char function.
35 
36 
37   to_char(1210.73, '9999.9') would return '1210.7'
38   to_char(1210.73, '9,999.99') would return '1,210.73'
39   to_char(1210.73, '$9,999.00') would return '$1,210.73'
40   to_char(21, '000099') would return '000021'
41 
42 
43 to_char函式特殊用法
44   to_char(sysdate,'d') 每週第幾天
45   to_char(sysdate,'dd') 每月第幾天
46   to_char(sysdate,'ddd') 每年第幾天
47   to_char(sysdate,'ww') 每年第幾周
48   to_char(sysdate,'mm') 每年第幾月
49   to_char(sysdate,'q') 每年第幾季
50   to_char(sysdate,'yyyy') 年
51   比如要找某個時間為每週第幾天就可以
52   SQL> select to_char(to_date('20070101','yyyymmdd'),'d') from dual;
53 
54 1.instr
55 
56  
57 
58 在Oracle/PLSQL中,instr函式返回要擷取的字串在源字串中的位置。
59 
60  
61 
62 語法如下:instr( string1, string2 [, start_position [, nth_appearance ] ] )
63 
64  
65 
66 string1 源字串,要在此字串中查詢。
67 
68 string2 要在string1中查詢的字串.
69 
70 start_position 代表string1 的哪個位置開始查詢。此引數可選,如果省略預設為1. 字串索引從1開始。如果此引數為正,從左到右開始檢索,如果此引數為負,從右到左檢索,返回要查詢的字串在源字串中的開始索引。
71 
72  
73 
74 nth_appearance 代表要查詢第幾次出現的string2. 此引數可選,如果省略,預設為 1.如果為負數系統會報錯。
75 
76 
77 注意:
78 
79 如果String2在String1中沒有找到,instr函式返回0.
80 
81  
82 
83 應用於:
84 
85 Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g
86 舉例說明:
87 
88 select instr('abc','a') from dual;    -- 返回 1 
89 select instr('abc','bc') from dual; -- 返回 2
90 select instr('abc abc','a',1,2) from dual; -- 返回 5
91 select instr('abc','bc',-1,1) from dual; -- 返回 2
92 select instr('abc','d') from dual; -- 返回 0
93 
94  
95 
96 注:也可利用此函式來檢查String1中是否包含String2,如果返回0表示不包含,否則表示包含。