*author:
*date: 09/05/2007
*description:oracle function
sql中的單記錄函式
1. ascii
返回與指定的字元對應的十進位制數;
sql> select ascii(a) a,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
a a zero space
65 97 48 32
2. chr
給出整數,返回對應的字元;
sql> select chr(54740) zhao,chr(65) chr65 from dual;
zh c
-- -
趙 a3. concat
連線兩個字串;
sql> select concat(010-,88888888)||轉23 高幹競** from dual;
高幹競**
010-********轉23
4. initcap
返回字串並將字串的第乙個字母變為大寫;
sql> select initcap(smith) upp from dual;
upp-----
smith
在乙個字串中搜尋指定的字元,返回發現指定的字元的位置;
c1 被搜尋的字串
c2 希望搜尋的字串
i 搜尋的開始位置,預設為1
j 出現的位置,預設為1
sql> select instr(oracle traning,ra,1,2) instring from dual;
instring
---------
9返回字串的長度;
sql> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from
name length(name) addr length(addr) sal length(to_char(sal))
高幹競 3 北京市海錠區 6 9999.99 7
返回字串,並將所有的字元小寫
sql> select lower(aabbccdd)aabbccdd from dual;
aabbccdd
--------
aabbccdd
返回字串,並將所有的字元大寫
sql> select upper(aabbccdd) upper from dual;
upper
--------
aabbccdd
和lpad(貼上字元)
rpad 在列的右邊貼上字元
lpad 在列的左邊貼上字元
sql> select lpad(rpad(gao,10,*),17,*)from dual;
lpad(rpad(gao,1
*******gao*******
不夠字元則用*來填滿
和rtrim
ltrim 刪除左邊出現的字串
rtrim 刪除右邊出現的字串
sql> select ltrim(rtrim( gao qian jing , ), ) from dual;
ltrim(rtrim(
gao qian jing
取子字串,從start開始,取count個
sql> select substr(130********,3,8) from dual;
substr(
--------
08888888
string 希望被替換的字元或變數
s1 被替換的字串
s2 要替換的字串
sql> select replace(he love you,he,i) from dual;
replace(h
i love you
返回乙個與給定的字串讀音相同的字串
sql> create table table1(xm varchar(8));
sql> insert into table1 values(weather);
sql> insert into table1 values(wether);
sql> insert into table1 values(gao);
sql> select xm from table1 where soundex(xm)=soundex(weather);
xm--------
weather
wether
from string)
leading 剪掉前面的字元
trailing 剪掉後面的字元
如果不指定,預設為空格符
返回指定值的絕對值
sql> select abs(100),abs(-100) from dual;
abs(100) abs(-100)
100 100
給出反余弦的值
sql> select acos(-1) from dual;
acos(-1)
---------
3.1415927
給出反正弦的值
sql> select asin(0.5) from dual;
asin(0.5)
---------
.52359878
返回乙個數字的反正切值
sql> select atan(1) from dual;
atan(1)
---------
.78539816
返回大於或等於給出數字的最小整數
sql> select ceil(3.1415927) from dual;
ceil(3.1415927)
4返回乙個給定數字的余弦
sql> select cos(-3.1415927) from dual;
cos(-3.1415927)
-1返回乙個數字反余弦值
sql> select cosh(20) from dual;
cosh(20)
---------
242582598
返回乙個數字e的n次方根
sql> select exp(2),exp(1) from dual;
exp(2) exp(1)
7.3890561 2.7182818
對給定的數字取整數
sql> select floor(2345.67) from dual;
floor(2345.67)
2345
返回乙個數字的對數值
sql> select ln(1),ln(2),ln(2.7182818) from dual;
ln(1) ln(2) ln(2.7182818)
0 .69314718 .99999999
返回乙個以n1為底n2的對數
sql> select log(2,1),log(2,4) from dual;
log(2,1) log(2,4)
0 2返回乙個n1除以n2的餘數
sql> select mod(10,3),mod(3,3),mod(2,3) from dual;
mod(10,3) mod(3,3) mod(2,3)
1 0 2
返回n1的n2次方根
sql> select power(2,10),power(3,3) from dual;
power(2,10) power(3,3)
1024 27
和trunc
按照指定的精度進行捨入
sql> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;
round(55.5) round(-55.4) trunc(55.5) trunc(-55.5)
56 -55 55 -55
取數字n的符號,大於0返回1,小於0返回-1,等於0返回0
sql> select sign(123),sign(-100),sign(0) from dual;
sign(123) sign(-100) sign(0)
1 -1 0
返回乙個數字的正弦值
sql> select sin(1.57079) from dual;
sin(1.57079)1
返回雙曲正弦的值
sql> select sin(20),sinh(20) from dual;
sin(20) sinh(20)
.91294525 242582598
返回數字n的根
sql> select sqrt(64),sqrt(10) from dual;
sqrt(64) sqrt(10)
8 3.1622777
返回數字的正切值
sql> select tan(20),tan(10) from dual;
總結歸納 Oracle常用函式的總結
instring 9返回字串的長度 sql select name,length name addr,length addr sal,length to char sal from name length name addr length addr sal length to char sal 高幹...
oracle常用函式總結
返回與指定的字元對應的十進位制數 sql select ascii a a,ascii a a,ascii 0 zero,ascii space from dual a a zero space 65 97 48 32 給出整數,返回對應的字元 sql select chr 54740 zhao,c...
Oracle分析函式使用總結
1.使用評級函式 評級函式 ranking function 用於計算等級 百分點 n分片等等,下面是幾個常用到的評級函式 rank 返回資料項在分組中的排名。特點 在排名相等的情況下會在名次中留下空位dense rank 與rank不同的是它在排名相等的情況下不會在名次中留下空位cume dist...