📄 csdn技术中心 [收藏]oracle函数大全.htm
字号:
<P><FONT
size=2>COS(-3.1415927)<BR>---------------<BR>
-1</FONT></P>
<P><BR><FONT size=2>21.COSH<BR>返回一个数字反余弦值<BR>SQL> select cosh(20)
from dual;</FONT></P>
<P><FONT size=2> COSH(20)<BR>---------<BR>242582598</FONT></P>
<P><BR><FONT size=2>22.EXP<BR>返回一个数字e的n次方根<BR>SQL> select
exp(2),exp(1) from dual;</FONT></P>
<P><FONT size=2> EXP(2)
EXP(1)<BR>--------- ---------<BR>7.3890561 2.7182818</FONT></P>
<P><BR><FONT size=2>23.FLOOR<BR>对给定的数字取整数<BR>SQL> select
floor(2345.67) from dual;</FONT></P>
<P><FONT
size=2>FLOOR(2345.67)<BR>--------------<BR>
2345</FONT></P>
<P><BR><FONT size=2>24.LN<BR>返回一个数字的对数值<BR>SQL> select
ln(1),ln(2),ln(2.7182818) from dual;</FONT></P>
<P><FONT size=2> LN(1)
LN(2) LN(2.7182818)<BR>--------- ---------
-------------<BR> 0
.69314718 .99999999</FONT></P>
<P><BR><FONT size=2>25.LOG(n1,n2)<BR>返回一个以n1为底n2的对数 <BR>SQL>
select log(2,1),log(2,4) from dual;</FONT></P>
<P><FONT size=2> LOG(2,1) LOG(2,4)<BR>---------
---------<BR>
0 2</FONT></P>
<P><BR><FONT size=2>26.MOD(n1,n2)<BR>返回一个n1除以n2的余数<BR>SQL> select
mod(10,3),mod(3,3),mod(2,3) from dual;</FONT></P>
<P><FONT size=2>MOD(10,3) MOD(3,3) MOD(2,3)<BR>---------
--------- ---------<BR>
1
0 2</FONT></P>
<P><BR><FONT size=2>27.POWER<BR>返回n1的n2次方根<BR>SQL> select
power(2,10),power(3,3) from dual;</FONT></P>
<P><FONT size=2>POWER(2,10) POWER(3,3)<BR>-----------
----------<BR>
1024 27</FONT></P>
<P><BR><FONT size=2>28.ROUND和TRUNC<BR>按照指定的精度进行舍入<BR>SQL> select
round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from
dual;</FONT></P>
<P><FONT size=2>ROUND(55.5) ROUND(-55.4) TRUNC(55.5)
TRUNC(-55.5)<BR>----------- ------------ -----------
------------<BR>
56
-55
55
-55</FONT></P>
<P><BR><FONT
size=2>29.SIGN<BR>取数字n的符号,大于0返回1,小于0返回-1,等于0返回0<BR>SQL> select
sign(123),sign(-100),sign(0) from dual;</FONT></P>
<P><FONT size=2>SIGN(123) SIGN(-100)
SIGN(0)<BR>--------- ----------
---------<BR>
1
-1 0</FONT></P>
<P><BR><FONT size=2>30.SIN<BR>返回一个数字的正弦值<BR>SQL> select
sin(1.57079) from dual;</FONT></P>
<P><FONT
size=2>SIN(1.57079)<BR>------------<BR>
1</FONT></P>
<P><BR><FONT size=2>31.SIGH<BR>返回双曲正弦的值<BR>SQL> select
sin(20),sinh(20) from dual;</FONT></P>
<P><FONT size=2> SIN(20) SINH(20)<BR>---------
---------<BR>.91294525 242582598</FONT></P>
<P><BR><FONT size=2>32.SQRT<BR>返回数字n的根<BR>SQL> select
sqrt(64),sqrt(10) from dual;</FONT></P>
<P><FONT size=2> SQRT(64) SQRT(10)<BR>---------
---------<BR> 8
3.1622777</FONT></P>
<P><BR><FONT size=2>33.TAN<BR>返回数字的正切值<BR>SQL> select
tan(20),tan(10) from dual;</FONT></P>
<P><FONT size=2> TAN(20) TAN(10)<BR>---------
---------<BR>2.2371609 .64836083</FONT></P>
<P><BR><FONT size=2>34.TANH<BR>返回数字n的双曲正切值<BR>SQL> select
tanh(20),tan(20) from dual;</FONT></P>
<P><FONT size=2> TANH(20) TAN(20)<BR>---------
---------<BR> 1
2.2371609</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>35.TRUNC<BR>按照指定的精度截取一个数<BR>SQL> select
trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;</FONT></P>
<P><FONT size=2> TRUNC1 TRUNC(124.16666,2)<BR>---------
------------------<BR>
100
124.16</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>36.ADD_MONTHS<BR>增加或减去月份<BR>SQL> select
to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from
dual;</FONT></P>
<P><FONT size=2>TO_CHA<BR>------<BR>200002<BR>SQL> select
to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from
dual;</FONT></P>
<P><FONT size=2>TO_CHA<BR>------<BR>199910</FONT></P>
<P><BR><FONT size=2>37.LAST_DAY<BR>返回日期的最后一天<BR>SQL> select
to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from
dual;</FONT></P>
<P><FONT size=2>TO_CHAR(SY TO_CHAR((S<BR>----------
----------<BR>2004.05.09 2004.05.10<BR>SQL> select
last_day(sysdate) from dual;</FONT></P>
<P><FONT size=2>LAST_DAY(S<BR>----------<BR>31-5月 -04</FONT></P>
<P><BR><FONT
size=2>38.MONTHS_BETWEEN(date2,date1)<BR>给出date2-date1的月份<BR>SQL>
select months_between('19-12月-1999','19-3月-1999') mon_between from
dual;</FONT></P>
<P><FONT
size=2>MON_BETWEEN<BR>-----------<BR>
9<BR>SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd'))
mon_betw from dual;</FONT></P>
<P><FONT
size=2> MON_BETW<BR>---------<BR>
-60</FONT></P>
<P><BR><FONT
size=2>39.NEW_TIME(date,'this','that')<BR>给出在this时区=other时区的日期和时间<BR>SQL>
select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss')
bj_time,to_char(new_time<BR> 2
(sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from
dual;</FONT></P>
<P><FONT
size=2>BJ_TIME
LOS_ANGLES<BR>------------------- -------------------<BR>2004.05.09
11:05:32 2004.05.09 18:05:32</FONT></P>
<P><BR><FONT
size=2>40.NEXT_DAY(date,'day')<BR>给出日期date和星期x之后计算下一个星期的日期<BR>SQL>
select next_day('18-5月-2001','星期五') next_day from dual;</FONT></P>
<P><FONT size=2>NEXT_DAY<BR>----------<BR>25-5月 -01</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>41.SYSDATE<BR>用来得到系统的当前日期<BR>SQL> select
to_char(sysdate,'dd-mm-yyyy day') from dual;</FONT></P>
<P><FONT size=2>TO_CHAR(SYSDATE,'<BR>-----------------<BR>09-05-2004
星期日<BR>trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒<BR>SQL>
select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss')
hh,<BR> 2 to_char(trunc(sysdate,'mi'),'yyyy.mm.dd
hh24:mi:ss') hhmm from dual;</FONT></P>
<P><FONT
size=2>HH
HHMM<BR>------------------- -------------------<BR>2004.05.09
11:00:00 2004.05.09 11:17:00</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>42.CHARTOROWID<BR>将字符数据类型转换为ROWID类型<BR>SQL>
select rowid,rowidtochar(rowid),ename from scott.emp;</FONT></P>
<P><FONT
size=2>ROWID
ROWIDTOCHAR(ROWID) ENAME<BR>------------------ ------------------
----------<BR>AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA
SMITH<BR>AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB
ALLEN<BR>AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC
WARD<BR>AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES</FONT></P>
<P><BR><FONT size=2>43.CONVERT(c,dset,sset)<BR>将源字符串
sset从一个语言字符集转换到另一个目的dset字符集<BR>SQL> select
convert('strutz','we8hp','f7dec') "conversion" from dual;</FONT></P>
<P><FONT size=2>conver<BR>------<BR>strutz</FONT></P>
<P><BR><FONT size=2>44.HEXTORAW<BR>将一个十六进制构成的字符串转换为二进制</FONT></P>
<P><BR><FONT size=2>45.RAWTOHEXT<BR>将一个二进制构成的字符串转换为十六进制</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>46.ROWIDTOCHAR<BR>将ROWID数据类型转换为字符类型</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT size=2>47.TO_CHAR(date,'format')<BR>SQL> select
to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;</FONT></P>
<P><FONT
size=2>TO_CHAR(SYSDATE,'YY<BR>-------------------<BR>2004/05/09
21:14:41</FONT></P>
<P><FONT size=2></FONT> </P>
<P><FONT
size=2>48.TO_DATE(string,'format')<BR>将字符串转化为ORACLE中的一个日期</FONT></P>
<P><BR><FONT
size=2>49.TO_MULTI_BYTE<BR>将字符串中的单字节字符转化为多字节字符<BR>SQL>
select to_multi_byte('高') from dual;</FONT></P>
<P><FONT size=2>TO<BR>--<BR>高</FONT></P>
<P><BR><FONT size=2>50.TO_NUMBER<BR>将给出的字符转换为数字<BR>SQL> select
to_number('1999') year from dual;</FONT></P>
<P><FONT size=2>
YEAR<BR>---------<BR> 1999</FONT></P>
<P><BR><FONT
size=2>51.BFILENAME(dir,file)<BR>指定一个外部二进制文件<BR>SQL>insert into
file_tb1 values(bfilename('lob_dir1','image1.gif'));</FONT></P>
<P><BR><FONT
size=2>52.CONVERT('x','desc','source')<BR>将x字段或变量的源source转换为desc<BR>SQL>
select sid,serial#,username,decode(command,<BR> 2
0,'none',<BR> 3 2,'insert',<BR> 4
3,<BR> 5 'select',<BR> 6
6,'update',<BR> 7 7,'delete',<BR> 8
8,'drop',<BR> 9 'other') cmd from v$session where
type!='background';</FONT></P>
<P><FONT size=2> SID
SERIAL#
USERNAME
CMD<BR>--------- --------- ------------------------------
------<BR>
1
1
none<BR>
2
1
none<BR>
3
1
none<BR>
4
1
none<BR>
5
1
none<BR>
6
1
none<BR>
7
1275
none<BR>
8
1275
none<BR>
9 20
GAO
select<BR>
10 40
GAO
none</FONT></P>
<P><BR><FONT
size=2>53.DUMP(s,fmt,start,length)<BR>DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值<BR>SQL>
col global_name for a30<BR>SQL> col dump_string for
a50<BR>SQL> set lin 200<BR>SQL> select
global_name,dump(global_name,1017,8,5) dump_string from
global_name;</FONT></P>
<P><FONT
size=2>GLOBAL_NAME
DUMP_STRING<BR>------------------------------
--------------------------------------------------<BR>ORACLE.WORLD
Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D</FONT></P>
<P><BR><FONT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -