﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-MEYE-文章分类-NET</title><link>http://www.blogjava.net/MEYE/category/8469.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 08:50:30 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 08:50:30 GMT</pubDate><ttl>60</ttl><item><title>ORACLE函数大全 </title><link>http://www.blogjava.net/MEYE/articles/37387.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sat, 25 Mar 2006 12:17:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37387.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37387.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37387.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37387.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="1" cellpadding="3" width="96%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="content_head">
												<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
														<tbody>
																<tr>
																		<td width="25">
																				<img src="http://www.54bk.com/images/face/1.gif" />
																		</td>
																		<td width="*">
																				<strong>ORACLE函数大全</strong>
																		</td>
																</tr>
														</tbody>
												</table>
										</div>
								</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
												<tbody>
														<tr bgcolor="#ffffff">
																<td height="0">常用oracle函数 
<p><font face="Courier new, Courier, Mono">SQL中的单记录函数<br />1.ASCII<br />返回与指定的字符对应的十进制数;<br />SQL&gt; select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; <br />        A         A      ZERO     SPACE<br />--------- --------- --------- ---------<br />       65        97        48        32</font></p><p><br /><font face="Courier new, Courier, Mono">2.CHR<br />给出整数,返回对应的字符;<br />SQL&gt; select chr(54740) zhao,chr(65) chr65 from dual;</font></p><p><font face="Courier new, Courier, Mono">ZH C<br />-- -<br />赵 A</font></p><p><font face="Courier new, Courier, Mono">3.CONCAT<br />连接两个字符串;<br />SQL&gt; select concat('010-','88888888')||'转23'  高乾竞电话 from dual;</font></p><p><font face="Courier new, Courier, Mono">高乾竞电话<br />----------------<br />010-88888888转23</font></p><p><font face="Courier new, Courier, Mono">4.INITCAP<br />返回字符串并将字符串的第一个字母变为大写;<br />SQL&gt; select initcap('smith') upp from dual;</font></p><p><font face="Courier new, Courier, Mono">UPP<br />-----<br />Smith</font></p><p><br /><font face="Courier new, Courier, Mono">5.INSTR(C1,C2,I,J)<br />在一个字符串中搜索指定的字符,返回发现指定的字符的位置;<br />C1    被搜索的字符串<br />C2    希望搜索的字符串<br />I     搜索的开始位置,默认为1<br />J     出现的位置,默认为1<br />SQL&gt; select instr('oracle traning','ra',1,2) instring from dual;</font></p><p><font face="Courier new, Courier, Mono"> INSTRING<br />---------<br />        9</font></p><p><br /><font face="Courier new, Courier, Mono">6.LENGTH<br />返回字符串的长度;<br />SQL&gt; select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;</font></p><p><font face="Courier new, Courier, Mono">NAME   LENGTH(NAME) ADDR             LENGTH(ADDR)       SAL LENGTH(TO_CHAR(SAL))<br />------ ------------ ---------------- ------------ --------- --------------------<br />高乾竞            3 北京市海锭区                6   9999.99                    7</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">7.LOWER<br />返回字符串,并将所有的字符小写<br />SQL&gt; select lower('AaBbCcDd')AaBbCcDd from dual;</font></p><p><font face="Courier new, Courier, Mono">AABBCCDD<br />--------<br />aabbccdd</font></p><p><br /><font face="Courier new, Courier, Mono">8.UPPER<br />返回字符串,并将所有的字符大写<br />SQL&gt; select upper('AaBbCcDd') upper from dual;</font></p><p><font face="Courier new, Courier, Mono">UPPER<br />--------<br />AABBCCDD</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">9.RPAD和LPAD(粘贴字符)<br />RPAD  在列的右边粘贴字符<br />LPAD  在列的左边粘贴字符<br />SQL&gt; select lpad(rpad('gao',10,'*'),17,'*')from dual;</font></p><p><font face="Courier new, Courier, Mono">LPAD(RPAD('GAO',1<br />-----------------<br />*******gao*******<br />不够字符则用*来填满</font></p><p><br /><font face="Courier new, Courier, Mono">10.LTRIM和RTRIM<br />LTRIM  删除左边出现的字符串<br />RTRIM  删除右边出现的字符串<br />SQL&gt; select ltrim(rtrim('   gao qian jing   ',' '),' ') from dual;</font></p><p><font face="Courier new, Courier, Mono">LTRIM(RTRIM('<br />-------------<br />gao qian jing</font></p><p><br /><font face="Courier new, Courier, Mono">11.SUBSTR(string,start,count)<br />取子字符串,从start开始,取count个<br />SQL&gt; select substr('13088888888',3,8) from dual;</font></p><p><font face="Courier new, Courier, Mono">SUBSTR('<br />--------<br />08888888</font></p><p><br /><font face="Courier new, Courier, Mono">12.REPLACE('string','s1','s2')<br />string   希望被替换的字符或变量 <br />s1       被替换的字符串<br />s2       要替换的字符串<br />SQL&gt; select replace('he love you','he','i') from dual;</font></p><p><font face="Courier new, Courier, Mono">REPLACE('H<br />----------<br />i love you</font></p><p><br /><font face="Courier new, Courier, Mono">13.SOUNDEX<br />返回一个与给定的字符串读音相同的字符串<br />SQL&gt; create table table1(xm varchar(8));<br />SQL&gt; insert into table1 values('weather');<br />SQL&gt; insert into table1 values('wether');<br />SQL&gt; insert into table1 values('gao');</font></p><p><font face="Courier new, Courier, Mono">SQL&gt; select xm from table1 where soundex(xm)=soundex('weather');</font></p><p><font face="Courier new, Courier, Mono">XM<br />--------<br />weather<br />wether</font></p><p><br /><font face="Courier new, Courier, Mono">14.TRIM('s' from 'string')<br />LEADING   剪掉前面的字符<br />TRAILING  剪掉后面的字符<br />如果不指定,默认为空格符 </font></p><p><font face="Courier new, Courier, Mono">15.ABS<br />返回指定值的绝对值<br />SQL&gt; select abs(100),abs(-100) from dual;</font></p><p><font face="Courier new, Courier, Mono"> ABS(100) ABS(-100)<br />--------- ---------<br />      100       100</font></p><p><br /><font face="Courier new, Courier, Mono">16.ACOS<br />给出反余弦的值<br />SQL&gt; select acos(-1) from dual;</font></p><p><font face="Courier new, Courier, Mono"> ACOS(-1)<br />---------<br />3.1415927</font></p><p><br /><font face="Courier new, Courier, Mono">17.ASIN<br />给出反正弦的值<br />SQL&gt; select asin(0.5) from dual;</font></p><p><font face="Courier new, Courier, Mono">ASIN(0.5)<br />---------<br />.52359878</font></p><p><br /><font face="Courier new, Courier, Mono">18.ATAN<br />返回一个数字的反正切值<br />SQL&gt; select atan(1) from dual;</font></p><p><font face="Courier new, Courier, Mono">  ATAN(1)<br />---------<br />.78539816</font></p><p><br /><font face="Courier new, Courier, Mono">19.CEIL<br />返回大于或等于给出数字的最小整数<br />SQL&gt; select ceil(3.1415927) from dual;</font></p><p><font face="Courier new, Courier, Mono">CEIL(3.1415927)<br />---------------<br />              4</font></p><p><br /><font face="Courier new, Courier, Mono">20.COS<br />返回一个给定数字的余弦<br />SQL&gt; select cos(-3.1415927) from dual;</font></p><p><font face="Courier new, Courier, Mono">COS(-3.1415927)<br />---------------<br />             -1</font></p><p><br /><font face="Courier new, Courier, Mono">21.COSH<br />返回一个数字反余弦值<br />SQL&gt; select cosh(20) from dual;</font></p><p><font face="Courier new, Courier, Mono"> COSH(20)<br />---------<br />242582598</font></p><p><br /><font face="Courier new, Courier, Mono">22.EXP<br />返回一个数字e的n次方根<br />SQL&gt; select exp(2),exp(1) from dual;</font></p><p><font face="Courier new, Courier, Mono">   EXP(2)    EXP(1)<br />--------- ---------<br />7.3890561 2.7182818</font></p><p><br /><font face="Courier new, Courier, Mono">23.FLOOR<br />对给定的数字取整数<br />SQL&gt; select floor(2345.67) from dual;</font></p><p><font face="Courier new, Courier, Mono">FLOOR(2345.67)<br />--------------<br />          2345</font></p><p><br /><font face="Courier new, Courier, Mono">24.LN<br />返回一个数字的对数值<br />SQL&gt; select ln(1),ln(2),ln(2.7182818) from dual;</font></p><p><font face="Courier new, Courier, Mono">    LN(1)     LN(2) LN(2.7182818)<br />--------- --------- -------------<br />        0 .69314718     .99999999</font></p><p><br /><font face="Courier new, Courier, Mono">25.LOG(n1,n2)<br />返回一个以n1为底n2的对数 <br />SQL&gt; select log(2,1),log(2,4) from dual;</font></p><p><font face="Courier new, Courier, Mono"> LOG(2,1)  LOG(2,4)<br />--------- ---------<br />        0         2</font></p><p><br /><font face="Courier new, Courier, Mono">26.MOD(n1,n2)<br />返回一个n1除以n2的余数<br />SQL&gt; select mod(10,3),mod(3,3),mod(2,3) from dual;</font></p><p><font face="Courier new, Courier, Mono">MOD(10,3)  MOD(3,3)  MOD(2,3)<br />--------- --------- ---------<br />        1         0         2</font></p><p><br /><font face="Courier new, Courier, Mono">27.POWER<br />返回n1的n2次方根<br />SQL&gt; select power(2,10),power(3,3) from dual;</font></p><p><font face="Courier new, Courier, Mono">POWER(2,10) POWER(3,3)<br />----------- ----------<br />       1024         27</font></p><p><br /><font face="Courier new, Courier, Mono">28.ROUND和TRUNC<br />按照指定的精度进行舍入<br />SQL&gt; select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;</font></p><p><font face="Courier new, Courier, Mono">ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)<br />----------- ------------ ----------- ------------<br />         56          -55          55          -55</font></p><p><br /><font face="Courier new, Courier, Mono">29.SIGN<br />取数字n的符号,大于0返回1,小于0返回-1,等于0返回0<br />SQL&gt; select sign(123),sign(-100),sign(0) from dual;</font></p><p><font face="Courier new, Courier, Mono">SIGN(123) SIGN(-100)   SIGN(0)<br />--------- ---------- ---------<br />        1         -1         0</font></p><p><br /><font face="Courier new, Courier, Mono">30.SIN<br />返回一个数字的正弦值<br />SQL&gt; select sin(1.57079) from dual;</font></p><p><font face="Courier new, Courier, Mono">SIN(1.57079)<br />------------<br />           1</font></p><p><br /><font face="Courier new, Courier, Mono">31.SIGH<br />返回双曲正弦的值<br />SQL&gt; select sin(20),sinh(20) from dual;</font></p><p><font face="Courier new, Courier, Mono">  SIN(20)  SINH(20)<br />--------- ---------<br />.91294525 242582598</font></p><p><br /><font face="Courier new, Courier, Mono">32.SQRT<br />返回数字n的根<br />SQL&gt; select sqrt(64),sqrt(10) from dual;</font></p><p><font face="Courier new, Courier, Mono"> SQRT(64)  SQRT(10)<br />--------- ---------<br />        8 3.1622777</font></p><p><br /><font face="Courier new, Courier, Mono">33.TAN<br />返回数字的正切值<br />SQL&gt; select tan(20),tan(10) from dual;</font></p><p><font face="Courier new, Courier, Mono">  TAN(20)   TAN(10)<br />--------- ---------<br />2.2371609 .64836083</font></p><p><br /><font face="Courier new, Courier, Mono">34.TANH<br />返回数字n的双曲正切值<br />SQL&gt; select tanh(20),tan(20) from dual;</font></p><p><font face="Courier new, Courier, Mono"> TANH(20)   TAN(20)<br />--------- ---------<br />        1 2.2371609</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">35.TRUNC<br />按照指定的精度截取一个数<br />SQL&gt; select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;</font></p><p><font face="Courier new, Courier, Mono">   TRUNC1 TRUNC(124.16666,2)<br />--------- ------------------<br />      100             124.16</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">36.ADD_MONTHS<br />增加或减去月份<br />SQL&gt; select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO_CHA<br />------<br />200002<br />SQL&gt; select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO_CHA<br />------<br />199910</font></p><p><br /><font face="Courier new, Courier, Mono">37.LAST_DAY<br />返回日期的最后一天<br />SQL&gt; select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO_CHAR(SY TO_CHAR((S<br />---------- ----------<br />2004.05.09 2004.05.10<br />SQL&gt; select last_day(sysdate) from dual;</font></p><p><font face="Courier new, Courier, Mono">LAST_DAY(S<br />----------<br />31-5月 -04</font></p><p><br /><font face="Courier new, Courier, Mono">38.MONTHS_BETWEEN(date2,date1)<br />给出date2-date1的月份<br />SQL&gt; select months_between('19-12月-1999','19-3月-1999') mon_between from dual;</font></p><p><font face="Courier new, Courier, Mono">MON_BETWEEN<br />-----------<br />          9<br />SQL&gt;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 face="Courier new, Courier, Mono"> MON_BETW<br />---------<br />      -60</font></p><p><br /><font face="Courier new, Courier, Mono">39.NEW_TIME(date,'this','that')<br />给出在this时区=other时区的日期和时间<br />SQL&gt; 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 face="Courier new, Courier, Mono">BJ_TIME             LOS_ANGLES<br />------------------- -------------------<br />2004.05.09 11:05:32 2004.05.09 18:05:32</font></p><p><br /><font face="Courier new, Courier, Mono">40.NEXT_DAY(date,'day')<br />给出日期date和星期x之后计算下一个星期的日期<br />SQL&gt; select next_day('18-5月-2001','星期五') next_day from dual;</font></p><p><font face="Courier new, Courier, Mono">NEXT_DAY<br />----------<br />25-5月 -01</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">41.SYSDATE<br />用来得到系统的当前日期<br />SQL&gt; select to_char(sysdate,'dd-mm-yyyy day') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO_CHAR(SYSDATE,'<br />-----------------<br />09-05-2004 星期日<br />trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒<br />SQL&gt; 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 face="Courier new, Courier, Mono">HH                  HHMM<br />------------------- -------------------<br />2004.05.09 11:00:00 2004.05.09 11:17:00</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">42.CHARTOROWID<br />将字符数据类型转换为ROWID类型<br />SQL&gt; select rowid,rowidtochar(rowid),ename from scott.emp;</font></p><p><font face="Courier new, Courier, Mono">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 face="Courier new, Courier, Mono">43.CONVERT(c,dset,sset)<br />将源字符串 sset从一个语言字符集转换到另一个目的dset字符集<br />SQL&gt; select convert('strutz','we8hp','f7dec') "conversion" from dual;</font></p><p><font face="Courier new, Courier, Mono">conver<br />------<br />strutz</font></p><p><br /><font face="Courier new, Courier, Mono">44.HEXTORAW<br />将一个十六进制构成的字符串转换为二进制</font></p><p><br /><font face="Courier new, Courier, Mono">45.RAWTOHEXT<br />将一个二进制构成的字符串转换为十六进制</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">46.ROWIDTOCHAR<br />将ROWID数据类型转换为字符类型</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">47.TO_CHAR(date,'format')<br />SQL&gt; select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO_CHAR(SYSDATE,'YY<br />-------------------<br />2004/05/09 21:14:41</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">48.TO_DATE(string,'format')<br />将字符串转化为ORACLE中的一个日期</font></p><p><br /><font face="Courier new, Courier, Mono">49.TO_MULTI_BYTE<br />将字符串中的单字节字符转化为多字节字符<br />SQL&gt;  select to_multi_byte('高') from dual;</font></p><p><font face="Courier new, Courier, Mono">TO<br />--<br />高</font></p><p><br /><font face="Courier new, Courier, Mono">50.TO_NUMBER<br />将给出的字符转换为数字<br />SQL&gt; select to_number('1999') year from dual;</font></p><p><font face="Courier new, Courier, Mono">     YEAR<br />---------<br />     1999</font></p><p><br /><font face="Courier new, Courier, Mono">51.BFILENAME(dir,file)<br />指定一个外部二进制文件<br />SQL&gt;insert into file_tb1 values(bfilename('lob_dir1','image1.gif'));</font></p><p><br /><font face="Courier new, Courier, Mono">52.CONVERT('x','desc','source')<br />将x字段或变量的源source转换为desc<br />SQL&gt; 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 face="Courier new, Courier, Mono">      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 face="Courier new, Courier, Mono">53.DUMP(s,fmt,start,length)<br />DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值<br />SQL&gt; col global_name for a30<br />SQL&gt; col dump_string for a50<br />SQL&gt; set lin 200<br />SQL&gt; select global_name,dump(global_name,1017,8,5) dump_string from global_name;</font></p><p><font face="Courier new, Courier, Mono">GLOBAL_NAME                    DUMP_STRING<br />------------------------------ --------------------------------------------------<br />ORACLE.WORLD                   Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D</font></p><p><br /><font face="Courier new, Courier, Mono">54.EMPTY_BLOB()和EMPTY_CLOB()<br />这两个函数都是用来对大数据类型字段进行初始化操作的函数</font></p><p><font face="Courier new, Courier, Mono">55.GREATEST<br />返回一组表达式中的最大值,即比较字符的编码大小.<br />SQL&gt; select greatest('AA','AB','AC') from dual;</font></p><p><font face="Courier new, Courier, Mono">GR<br />--<br />AC<br />SQL&gt; select greatest('啊','安','天') from dual;</font></p><p><font face="Courier new, Courier, Mono">GR<br />--<br />天</font></p><p><br /><font face="Courier new, Courier, Mono">56.LEAST<br />返回一组表达式中的最小值 <br />SQL&gt; select least('啊','安','天') from dual;</font></p><p><font face="Courier new, Courier, Mono">LE<br />--<br />啊</font></p><p><br /><font face="Courier new, Courier, Mono">57.UID<br />返回标识当前用户的唯一整数<br />SQL&gt; show user<br />USER 为"GAO"<br />SQL&gt; select username,user_id from dba_users where user_id=uid;</font></p><p><font face="Courier new, Courier, Mono">USERNAME                         USER_ID<br />------------------------------ ---------<br />GAO                                   25</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">58.USER<br />返回当前用户的名字<br />SQL&gt; select user from  dual;</font></p><p><font face="Courier new, Courier, Mono">USER<br />------------------------------<br />GAO</font></p><p><br /><font face="Courier new, Courier, Mono">59.USEREVN<br />返回当前用户环境的信息,opt可以是:<br />ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE<br />ISDBA  查看当前用户是否是DBA如果是则返回true<br />SQL&gt; select userenv('isdba') from dual;</font></p><p><font face="Courier new, Courier, Mono">USEREN<br />------<br />FALSE<br />SQL&gt; select userenv('isdba') from dual;</font></p><p><font face="Courier new, Courier, Mono">USEREN<br />------<br />TRUE<br />SESSION<br />返回会话标志<br />SQL&gt; select userenv('sessionid') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('SESSIONID')<br />--------------------<br />                 152<br />ENTRYID<br />返回会话人口标志<br />SQL&gt; select userenv('entryid') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('ENTRYID')<br />------------------<br />                 0<br />INSTANCE<br />返回当前INSTANCE的标志<br />SQL&gt; select userenv('instance') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('INSTANCE')<br />-------------------<br />                  1<br />LANGUAGE<br />返回当前环境变量<br />SQL&gt; select userenv('language') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('LANGUAGE')<br />----------------------------------------------------<br />SIMPLIFIED CHINESE_CHINA.ZHS16GBK<br />LANG<br />返回当前环境的语言的缩写<br />SQL&gt; select userenv('lang') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('LANG')<br />----------------------------------------------------<br />ZHS<br />TERMINAL<br />返回用户的终端或机器的标志<br />SQL&gt; select userenv('terminal') from dual;</font></p><p><font face="Courier new, Courier, Mono">USERENV('TERMINA<br />----------------<br />GAO<br />VSIZE(X)<br />返回X的大小(字节)数<br />SQL&gt; select vsize(user),user from dual;</font></p><p><font face="Courier new, Courier, Mono">VSIZE(USER) USER<br />----------- ------------------------------<br />          6 SYSTEM</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">60.AVG(DISTINCT|ALL)<br />all表示对所有的值求平均值,distinct只对不同的值求平均值<br />SQLWKS&gt; create table table3(xm varchar(8),sal number(7,2));<br />语句已处理。<br />SQLWKS&gt;  insert into table3 values('gao',1111.11);<br />SQLWKS&gt;  insert into table3 values('gao',1111.11);<br />SQLWKS&gt;  insert into table3 values('zhu',5555.55);<br />SQLWKS&gt; commit;</font></p><p><font face="Courier new, Courier, Mono">SQL&gt; select avg(distinct sal) from gao.table3;</font></p><p><font face="Courier new, Courier, Mono">AVG(DISTINCTSAL)<br />----------------<br />         3333.33</font></p><p><font face="Courier new, Courier, Mono">SQL&gt; select avg(all sal) from gao.table3;</font></p><p><font face="Courier new, Courier, Mono">AVG(ALLSAL)<br />-----------<br />    2592.59</font></p><p><br /><font face="Courier new, Courier, Mono">61.MAX(DISTINCT|ALL)<br />求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次<br />SQL&gt; select max(distinct sal) from scott.emp;</font></p><p><font face="Courier new, Courier, Mono">MAX(DISTINCTSAL)<br />----------------<br />            5000</font></p><p><br /><font face="Courier new, Courier, Mono">62.MIN(DISTINCT|ALL)<br />求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次<br />SQL&gt; select min(all sal) from gao.table3;</font></p><p><font face="Courier new, Courier, Mono">MIN(ALLSAL)<br />-----------<br />    1111.11</font></p><p><br /><font face="Courier new, Courier, Mono">63.STDDEV(distinct|all)<br />求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差<br />SQL&gt; select stddev(sal) from scott.emp;</font></p><p><font face="Courier new, Courier, Mono">STDDEV(SAL)<br />-----------<br />  1182.5032</font></p><p><font face="Courier new, Courier, Mono">SQL&gt; select stddev(distinct sal) from scott.emp;</font></p><p><font face="Courier new, Courier, Mono">STDDEV(DISTINCTSAL)<br />-------------------<br />           1229.951</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">64.VARIANCE(DISTINCT|ALL)<br />求协方差 </font></p><p><font face="Courier new, Courier, Mono">SQL&gt; select variance(sal) from scott.emp;</font></p><p><font face="Courier new, Courier, Mono">VARIANCE(SAL)<br />-------------<br />    1398313.9</font></p><p><br /><font face="Courier new, Courier, Mono">65.GROUP BY<br />主要用来对一组数进行统计<br />SQL&gt; select deptno,count(*),sum(sal) from scott.emp group by deptno;</font></p><p><font face="Courier new, Courier, Mono">   DEPTNO  COUNT(*)  SUM(SAL)<br />--------- --------- ---------<br />       10         3      8750<br />       20         5     10875<br />       30         6      9400</font></p><p><font face="Courier new, Courier, Mono"></font> </p><p><font face="Courier new, Courier, Mono">66.HAVING<br />对分组统计再加限制条件<br />SQL&gt; select deptno,count(*),sum(sal) from scott.emp group by deptno having count(*)&gt;=5;</font></p><p><font face="Courier new, Courier, Mono">   DEPTNO  COUNT(*)  SUM(SAL)<br />--------- --------- ---------<br />       20         5     10875<br />       30         6      9400<br />SQL&gt; select deptno,count(*),sum(sal) from scott.emp having count(*)&gt;=5 group by deptno ;</font></p><p><font face="Courier new, Courier, Mono">   DEPTNO  COUNT(*)  SUM(SAL)<br />--------- --------- ---------<br />       20         5     10875<br />       30         6      9400</font></p><p><br /><font face="Courier new, Courier, Mono">67.ORDER BY<br />用于对查询到的结果进行排序输出<br />SQL&gt; select deptno,ename,sal from scott.emp order by deptno,sal desc;</font></p><p><font face="Courier new, Courier, Mono">   DEPTNO ENAME            SAL<br />--------- ---------- ---------<br />       10 KING            5000<br />       10 CLARK           2450<br />       10 MILLER          1300<br />       20 SCOTT           3000<br />       20 FORD            3000<br />       20 JONES           2975<br />       20 ADAMS           1100<br />       20 SMITH            800<br />       30 BLAKE           2850<br />       30 ALLEN           1600<br />       30 TURNER          1500<br />       30 WARD            1250<br />       30 MARTIN          1250<br />       30 JAMES            950</font></p><p><br /><font face="Courier new, Courier, Mono">　　* SQL Group Function<br />* <br /> s (num can be a column or ex</font></p><p><font face="Courier new, Courier, Mono"> pression)　　　　　　　　　　 </font></p><p><font face="Courier new, Courier, Mono"><br />　　(null values are ign<br />* <br /> ored, default between distin</font></p><p><font face="Courier new, Courier, Mono"> ct and all is all)　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************<br />*************** <br /> ****************************</font></p><p><font face="Courier new, Courier, Mono"> ****************</font></p><p><font face="Courier new, Courier, Mono"><br />　　AVG([distinct or all] num)　　　<br /> -- average value <br /> <br />　　COUNT(distinct or all] num)　　 <br /> -- number of values <br /> <br />　　MAX([distinct or all<br /> ] num)　　　-- maximum value<br /> <br /> <br />　　MAX([distinct or all] num)　　　<br /> -- minimum value <br /> <br />　　STDDEV([distinct or <br /> all] num)　 -- standard devi<br /> ation <br /> <br />　　SUM([distinct or all<br /> ] num)　　　-- sum of values<br /> <br /> <br />　　VARIANCE([distinct o<br /> r all] num) -- variance of v<br /> alues <br /> <br />　　　                                                                             <br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* Miscellaneaous Functions :　　<br />* <br /> 　　　　　　　　　　　　　　　　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************<br />*************** <br /> ****************************</font></p><p><font face="Courier new, Courier, Mono"> ****************</font></p><p><font face="Courier new, Courier, Mono"><br />　　DECODE(expr, srch1, <br /> return1 [,srch2, return2...]<br /> , default] <br /> <br />　　　　　 -- if no search matches t<br /> he expression then the default is returned, <br /> <br />　　　　　 -- otherwise,<br /> the first search that match<br /> es will cause <br /> <br />　　　　　 -- the corres<br /> ponding return value to be r<br /> eturned <br /> <br />　　DUMP(column_name [,fmt [,start_p<br /> os [, length]]]) <br /> <br />　　　　　-- returns an <br />column <br /> internal oracle format, used</font></p><p><font face="Courier new, Courier, Mono"> for getting info about a </font></p><p><font face="Courier new, Courier, Mono"><br />　　　　　-- format options : 8 = oc<br /> tal, 10 = decimel, 16 = hex, 17 = characters <br /> <br />　　　　　-- return type<br /> codes : 1 = varchar2, 2 = n<br /> umber, 8 = long, 12 = date, <br /> <br />　　　　　--　 23 = raw,<br /> 24 = long raw, 69 = rowid, <br /> 96 = char, 106 = mlslabel <br /> <br />　　GREATEST(expr [,expr2 [, expr3...]]        <br />　　　　　-- returns the largest val<br /> ue of all expressions <br /> <br />　　LEAST(expr [,expr2 [, expr3...]]              <br />　　　　　-- returns the<br /> smallest value of all expre<br /> ssions <br /> <br />　　NVL(expr1 ,expr2                                              <br />　　　　　-- if expr1 is not null, i<br /> t is returned, otherwise expr2 is returned <br /> <br />　　SQLCODE                                                                <br />　　　　　-- returns sql error code <br />query, <br /> of last error.　Can not be used directly in </font></p><p><font face="Courier new, Courier, Mono"><br />　　　　　-- value must <br /> be set to local variable fir<br /> st <br /> <br />　　SQLERRM                                                                <br />　　　　　-- returns sql<br />in query, <br /> error message of last error</font></p><p><font face="Courier new, Courier, Mono"> .　Can not be used directly </font></p><p><font face="Courier new, Courier, Mono"><br />　　　　　-- value must be set to lo<br /> cal variable first <br /> <br />　　UID                                                                        <br />　　　　　-- returns the user id of <br /> the user you are logged on as <br /> <br />　　　　　-- useful in s<br /> electing information from lo<br /> w level sys tables <br /> <br />　　USER                                                                      <br />　　　　　-- returns the<br /> user name of the user you a<br /> re logged on as <br /> <br />　　USERENV('option')                                            <br />　　　　　-- returns inf<br /> ormation about the user you <br /> are logged on as <br /> <br />　　　　　-- options : E<br /> NTRYID, SESSIONID, TERMINAL,<br /> LANGUAGE, LABEL, OSDBA <br /> <br />　　　　　--　　　　　 (<br /> all options not available in<br /> all Oracle versions) <br /> <br />　　VSIZE(expr)                                                        <br />　　　　　-- returns the number of b<br /> ytes used by the expression <br /> <br />　　　　　-- useful in s<br /> electing information about t<br /> able space requirements <br /> <br />　　　                                                                             <br />　　********************<br />*************** <br /> ****************************</font></p><p><font face="Courier new, Courier, Mono"> ****************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* SQL Date Functions (dt represe<br />* <br /> nts oracle date and time)　　　　　　　　　　 </font></p><p><font face="Courier new, Courier, Mono"><br />　　* (functions return <br />* <br /> an oracle date unless otherw</font></p><p><font face="Courier new, Courier, Mono"> ise specified)　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　ADD_MONTHS(dt, num)<br /> 　　　-- adds num months to <br /> dt (num can be negative) <br /> <br />　　LAST_DAY(dt)　　　　<br /> 　　 -- last day of month in<br /> month containing dt <br /> <br />　　MONTHS_BETWEEN(dt1, dt2) -- retu<br />dt2 <br /> rns fractional value of months between dt1, </font></p><p><font face="Courier new, Courier, Mono"><br />　　NEW_TIME(dt, tz1, tz<br />zone 2 <br /> 2)　 -- dt = date in time zo</font></p><p><font face="Courier new, Courier, Mono"> ne 1, returns date in time </font></p><p><font face="Courier new, Courier, Mono"><br />　　NEXT_DAY(dt, str)　　　　-- date<br />etc..) <br /> of first (str) after dt (str = 'Monday', </font></p><p><font face="Courier new, Courier, Mono"><br />　　SYSDATE　　　　　　　　　-- present system date  <br />　　ROUND(dt [,fmt]　　　　　-- roun<br /> ds dt as specified by format fmt <br /> <br />　　TRUNC(dt [,fmt]　　<br /> 　　　-- truncates dt as spe<br /> cified by format fmt <br /> <br />　　　                                                                             <br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* Number Functions :　　　　　　<br />* <br /> 　　　　　　　　　　　　　　　　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　ABS(num)　　　　　　 -- absolute<br /> value of num <br /> <br />　　CEIL(num)　　　　　　-- smallest integer &gt; or = num  </font></p><p><font face="Courier new, Courier, Mono">　　COS(num)　　　　　　 -- cosine(n<br /> um), num in radians <br /> <br />　　COSH(num)　　　　　<br /> 　-- hyperbolic cosine(num) <br /> <br /> <br />　　EXP(num)　　　　　　<br /> -- e raised to the num powe<br /> r <br /> <br />　　FLOOR(num)　　　　　 -- largest <br /> integer &lt; or = num <br /> <br />　　LN(num)　　　　　　　-- natural <br /> logarithm of num <br /> <br />　　LOG(num2, num1)　　　-- logarith<br /> m base num2 of num1 <br /> <br />　　MOD(num2, num1)　　　-- remainde<br /> r of num2 / num1 <br /> <br />　　POWER(num2, num1)　<br /> 　-- num2 raised to the num1<br /> power <br /> <br />　　ROUND(num1 [,num2]　 -- num1 rou<br /> nded to num2 decimel places (default 0) <br /> <br />　　SIGN(num)　　　　　　-- sign of <br /> num * 1, 0 if num = 0 <br /> <br />　　SIN(num)　　　　　　<br /> -- sin(num), num in radians<br /> <br /> <br />　　SINH(num)　　　　　　-- hyperbolic sine(num)  <br />　　SQRT(num)　　　　　　-- square root of num      <br />　　TAN(num)　　　　　　 -- tangent(<br /> num), num in radians <br /> <br />　　TANH(num)　　　　　<br /> 　-- hyperbolic tangent(num)<br /> <br /> <br />　　TRUNC(num1 [,num2]　 -- truncate<br /> num1 to num2 decimel places (default 0) <br /> <br />　　　                                                                             <br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* String Functions, <br />* <br /> String Result :　　　　　　</font></p><p><font face="Courier new, Courier, Mono"> 　　　　　　　　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　(num)　　　　　　　　　 -- ASCII<br /> character for num <br /> <br />　　CHR(num)　　　　　　<br /> 　　-- ASCII character for n<br /> um <br /> <br />　　CONCAT(str1, str2)　　　-- str1 <br /> concatenated with str2 (same as str1||str2) <br /> <br />　　INITCAP(str)　　　　<br /> 　　-- capitalize first lett<br /> er of each word in str <br /> <br />　　LOWER(str)　　　　　　　-- str w<br /> ith all letters in lowercase <br /> <br />　　LPAD(str1, num [,str2]) -- left <br />spaces) <br /> pad str1 to length num with str2 (default </font></p><p><font face="Courier new, Courier, Mono"><br />　　LTRIM(str [,set])　<br /> 　　 -- remove set from left<br /> side of str (default spaces) <br /> <br />　　NLS_INITCAP(str [,nl<br /> s_val]) -- same as initcap f<br /> or different languages <br /> <br />　　NLS_LOWER(str [,nls_<br /> val])　 -- same as lower for<br /> different languages <br /> <br />　　REPLACE(str1, str2 [,str3]) -- r<br /> eplaces str2 with str3 in str1 <br /> <br />　　　　　　　　　　　　　　　　 -- <br /> deletes str2 from str1 if str3 is omitted <br /> <br />　　RPAD(str1, num [,str<br />(default spaces) <br /> 2])　　 -- right pad str1 to</font></p><p><font face="Courier new, Courier, Mono"> length num with str2 </font></p><p><font face="Courier new, Courier, Mono"><br />　　RTRIM(str [,set])　<br />spaces) <br /> 　　　　 -- remove set from </font></p><p><font face="Courier new, Courier, Mono"> right side of str (default </font></p><p><font face="Courier new, Courier, Mono"><br />　　SOUNDEX(str)　　　　<br /> 　　　　-- phonetic represen<br /> tation of str <br /> <br />　　SUBSTR(str, num2 [,n<br /> um1])　 -- substring of str,<br /> starting with num2, <br /> <br />　　　　　　　　　　　　　　　　 -- <br />omitted) <br /> num1 characters (to end of str if num1 is </font></p><p><font face="Courier new, Courier, Mono"><br />　　SUBSTRB(str, num2 [,<br />bytes <br /> num1])　-- same as substr bu</font></p><p><font face="Courier new, Courier, Mono"> t num1, num2 expressed in </font></p><p><font face="Courier new, Courier, Mono"><br />　　TRANSLATE(str, set1,<br /> set2)　-- replaces set1 in <br /> str with set2 <br /> <br />　　　　　　　　　　　　　　　　 -- <br />truncated <br /> if set2 is longer than set1, it will be </font></p><p><font face="Courier new, Courier, Mono"><br />　　UPPER(str)　　　　　<br /> 　　　　-- str with all lett<br /> ers in uppercase <br /> <br />　　　                                                                             <br />　　********************<br />*************** <br /> ****************************</font></p><p><font face="Courier new, Courier, Mono"> ****************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* String Functions, <br />* <br /> Numeric Result :　　　　　　</font></p><p><font face="Courier new, Courier, Mono"> 　　　　　　　　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　　                                                                             <br />　　ASCII(str)　　　　　　　　　　　<br /> 　-- ASCII value of str <br /> <br />　　INSTR(str1, str2 [,num1 [,num2]]<br /> ) -- position of num2th occurrence of <br /> <br />　　　　　　　　　　　　　　　　　　<br /> 　 -- str2 in str1, starting at num1 <br /> <br />　　　　　　　　　　　　　　　　　　<br /> 　 -- (num1, num2 default to 1) <br /> <br />　　INSTRB(str1, str2 [,num1 [num2]]</font></p><p><font face="Courier new, Courier, Mono"> ) -- same as instr, byte values for num1, num2</font></p><p><font face="Courier new, Courier, Mono"><br />　　LENGTH(str)　　　　<br /> 　　　　　　　 -- number of <br /> characters in str <br /> <br />　　LENGTHB(str)　　　　　　　　　　<br /> 　-- number of bytes in str <br /> <br />　　NLSSORT(str [,nls_val])　　　　<br /> 　 -- nls_val byte value of str <br /> <br />　　　                                                                             <br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　* SQL Conversion Functions　　　<br />* <br /> 　　　　　　　　　　　　　　　　　　　　　　　</font></p><p><font face="Courier new, Courier, Mono"><br />　　********************************<br />*********************** <br /> ************************</font></p><p><font face="Courier new, Courier, Mono"><br />　　CHARTOROWID(str)　　　　　　　　<br /> 　 -- converts str to ROWID <br /> <br />　　CONVERT(str, chr_set2 [,chr_set1<br /> ]) -- converts str to chr_set2 <br /> <br />　　　　　　　　　　　　<br />character set <br /> 　　　　　　　　-- chr_set1 </font></p><p><font face="Courier new, Courier, Mono"> default is the datbase </font></p><p><font face="Courier new, Courier, Mono"><br />　　HEXTORAW(str)　　　<br /> 　 -- converts hex string va<br /> lue to internal raw values <br /> <br />　　RAWTOHEX(raw_val)　　 -- convert<br /> s raw hex value to hex string value <br /> <br />　　ROWIDTOCHAR(rowid)　<br /> 　-- converts rowid to 18 ch<br /> aracter string format <br /> <br />　　TO_CHAR(expr [,fmt])<br />fmt <br /> 　-- converts expr(date or n</font></p><p><font face="Courier new, Courier, Mono"> umber) to format specified by </font></p></td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37387.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-25 20:17 <a href="http://www.blogjava.net/MEYE/articles/37387.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>