liugmwx 发表于 2007-11-8 21:52:28

oracle函数大全

1.ASCII<BR>返回与指定的字符对应的十进制数;<BR>SQL&gt; select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
<P><SPAN style="FONT-SIZE: 10pt">A A ZERO SPACE<BR>--------- --------- --------- ---------<BR>65 97 48 32</SPAN></P><BR><SPAN style="FONT-SIZE: 10pt">2.CHR<BR>给出整数,返回对应的字符;<BR>SQL&gt; select chr(54740) zhao,chr(65) chr65 from dual;</SPAN>
<P><SPAN style="FONT-SIZE: 10pt">ZH C<BR>-- -<BR>赵 A</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">3.CONCAT<BR>连接两个字符串;<BR>SQL&gt; select concat('010-','88888888')||'转23' 高乾竞电话 from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">高乾竞电话<BR>----------------<BR>010-88888888转23</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">4.INITCAP<BR>返回字符串并将字符串的第一个字母变为大写;<BR>SQL&gt; select initcap('***ith') upp from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">UPP<BR>-----<BR>***ith</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">INSTRING<BR>---------<BR>9</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">6.LENGTH<BR>返回字符串的长度;<BR>SQL&gt; select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))<BR>------ ------------ ---------------- ------------ --------- --------------------<BR>高乾竞 3 北京市海锭区 6 9999.99 7</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">7.LOWER<BR>返回字符串,并将所有的字符小写<BR>SQL&gt; select lower('AaBbCcDd')AaBbCcDd from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">AABBCCDD<BR>--------<BR>aabbccdd</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">8.UPPER<BR>返回字符串,并将所有的字符大写<BR>SQL&gt; select upper('AaBbCcDd') upper from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">UPPER<BR>--------<BR>AABBCCDD</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">9.RPAD和LPAD(粘贴字符)<BR>RPAD 在列的右边粘贴字符<BR>LPAD 在列的左边粘贴字符<BR>SQL&gt; select lpad(rpad('gao',10,'*'),17,'*')from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LPAD(RPAD('GAO',1<BR>-----------------<BR>*******gao*******<BR>不够字符则用*来填满</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">10.LTRIM和RTRIM<BR>LTRIM 删除左边出现的字符串<BR>RTRIM 删除右边出现的字符串<BR>SQL&gt; select ltrim(rtrim(' gao qian jing ',' '),' ') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LTRIM(RTRIM('<BR>-------------<BR>gao qian jing</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">11.SUBSTR(string,start,count)<BR>取子字符串,从start开始,取count个<BR>SQL&gt; select substr('13088888888',3,8) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SUBSTR('<BR>--------<BR>08888888</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">12.REPLACE('string','s1','s2')<BR>string 希望被替换的字符或变量 <BR>s1 被替换的字符串<BR>s2 要替换的字符串<BR>SQL&gt; select replace('he love you','he','i') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">REPLACE('H<BR>----------<BR>i love you</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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');</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQL&gt; select xm from table1 where soundex(xm)=soundex('weather');</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">XM<BR>--------<BR>weather<BR>wether</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">14.TRIM('s' from 'string')<BR>LEADING 剪掉前面的字符<BR>TRAILING 剪掉后面的字符<BR>如果不指定,默认为空格符 </SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">15.ABS<BR>返回指定值的绝对值<BR>SQL&gt; select abs(100),abs(-100) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ABS(100) ABS(-100)<BR>--------- ---------<BR>100 100</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">16.ACOS<BR>给出反余弦的值<BR>SQL&gt; select acos(-1) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ACOS(-1)<BR>---------<BR>3.1415927</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">17.ASIN<BR>给出反正弦的值<BR>SQL&gt; select asin(0.5) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ASIN(0.5)<BR>---------<BR>.52359878</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">18.ATAN<BR>返回一个数字的反正切值<BR>SQL&gt; select atan(1) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ATAN(1)<BR>---------<BR>.78539816</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">19.CEIL<BR>返回大于或等于给出数字的最小整数<BR>SQL&gt; select ceil(3.1415927) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">CEIL(3.1415927)<BR>---------------<BR>4</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">20.COS<BR>返回一个给定数字的余弦<BR>SQL&gt; select cos(-3.1415927) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">COS(-3.1415927)<BR>---------------<BR>-1</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">21.COSH<BR>返回一个数字反余弦值<BR>SQL&gt; select cosh(20) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">COSH(20)<BR>---------<BR>242582598</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">22.EXP<BR>返回一个数字e的n次方根<BR>SQL&gt; select exp(2),exp(1) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">EXP(2) EXP(1)<BR>--------- ---------<BR>7.3890561 2.7182818</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">23.FLOOR<BR>对给定的数字取整数<BR>SQL&gt; select floor(2345.67) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">FLOOR(2345.67)<BR>--------------<BR>2345</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">24.LN<BR>返回一个数字的对数值<BR>SQL&gt; select ln(1),ln(2),ln(2.7182818) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LN(1) LN(2) LN(2.7182818)<BR>--------- --------- -------------<BR>0 .69314718 .99999999</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">25.LOG(n1,n2)<BR>返回一个以n1为底n2的对数 <BR>SQL&gt; select log(2,1),log(2,4) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LOG(2,1) LOG(2,4)<BR>--------- ---------<BR>0 2</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">26.MOD(n1,n2)<BR>返回一个n1除以n2的余数<BR>SQL&gt; select mod(10,3),mod(3,3),mod(2,3) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">MOD(10,3) MOD(3,3) MOD(2,3)<BR>--------- --------- ---------<BR>1 0 2</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">27.POWER<BR>返回n1的n2次方根<BR>SQL&gt; select power(2,10),power(3,3) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">POWER(2,10) POWER(3,3)<BR>----------- ----------<BR>1024 27</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">28.ROUND和TRUNC<BR>按照指定的精度进行舍入<BR>SQL&gt; select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)<BR>----------- ------------ ----------- ------------<BR>56 -55 55 -55</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">29.SIGN<BR>取数字n的符号,大于0返回1,小于0返回-1,等于0返回0<BR>SQL&gt; select sign(123),sign(-100),sign(0) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SIGN(123) SIGN(-100) SIGN(0)<BR>--------- ---------- ---------<BR>1 -1 0</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">30.SIN<BR>返回一个数字的正弦值<BR>SQL&gt; select sin(1.57079) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SIN(1.57079)<BR>------------<BR>1</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">31.SIGH<BR>返回双曲正弦的值<BR>SQL&gt; select sin(20),sinh(20) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SIN(20) SINH(20)<BR>--------- ---------<BR>.91294525 242582598</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">32.SQRT<BR>返回数字n的根<BR>SQL&gt; select sqrt(64),sqrt(10) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQRT(64) SQRT(10)<BR>--------- ---------<BR>8 3.1622777</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">33.TAN<BR>返回数字的正切值<BR>SQL&gt; select tan(20),tan(10) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TAN(20) TAN(10)<BR>--------- ---------<BR>2.2371609 .64836083</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">34.TANH<BR>返回数字n的双曲正切值<BR>SQL&gt; select tanh(20),tan(20) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TANH(20) TAN(20)<BR>--------- ---------<BR>1 2.2371609</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">35.TRUNC<BR>按照指定的精度截取一个数<BR>SQL&gt; select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TRUNC1 TRUNC(124.16666,2)<BR>--------- ------------------<BR>100 124.16</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">36.ADD_MONTHS<BR>增加或减去月份<BR>SQL&gt; select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TO_CHA<BR>------<BR>200002<BR>SQL&gt; select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TO_CHA<BR>------<BR>199910</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">37.LAST_DAY<BR>返回日期的最后一天<BR>SQL&gt; select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TO_CHAR(SY TO_CHAR((S<BR>---------- ----------<BR>2004.05.09 2004.05.10<BR>SQL&gt; select last_day(sysdate) from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LAST_DAY(S<BR>----------<BR>31-5月 -04</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">38.MONTHS_BETWEEN(date2,date1)<BR>给出date2-date1的月份<BR>SQL&gt; select months_between('19-12月-1999','19-3月-1999') mon_between from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">MON_BETW<BR>---------<BR>-60</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">BJ_TIME LOS_ANGLES<BR>------------------- -------------------<BR>2004.05.09 11:05:32 2004.05.09 18:05:32</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">40.NEXT_DAY(date,'day')<BR>给出日期date和星期x之后计算下一个星期的日期<BR>SQL&gt; select next_day('18-5月-2001','星期五') next_day from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">NEXT_DAY<BR>----------<BR>25-5月 -01</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">41.SYSDATE<BR>用来得到系统的当前日期<BR>SQL&gt; select to_char(sysdate,'dd-mm-yyyy day') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">HH HHMM<BR>------------------- -------------------<BR>2004.05.09 11:00:00 2004.05.09 11:17:00</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">42.CHARTOROWID<BR>将字符数据类型转换为ROWID类型<BR>SQL&gt; select rowid,rowidtochar(rowid),ename from scott.emp;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">ROWID ROWIDTOCHAR(ROWID) ENAME<BR>------------------ ------------------ ----------<BR>AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA ***ITH<BR>AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN<BR>AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD<BR>AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">43.CONVERT(c,dset,sset)<BR>将源字符串 sset从一个语言字符集转换到另一个目的dset字符集<BR>SQL&gt; select convert('strutz','we8hp','f7dec') "conversion" from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">conver<BR>------<BR>strutz</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">44.HEXTORAW<BR>将一个十六进制构成的字符串转换为二进制</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">45.RAWTOHEXT<BR>将一个二进制构成的字符串转换为十六进制</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">46.ROWIDTOCHAR<BR>将ROWID数据类型转换为字符类型</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">47.TO_CHAR(date,'format')<BR>SQL&gt; select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TO_CHAR(SYSDATE,'YY<BR>-------------------<BR>2004/05/09 21:14:41</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">48.TO_DATE(string,'format')<BR>将字符串转化为ORACLE中的一个日期</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">49.TO_MULTI_BYTE<BR>将字符串中的单字节字符转化为多字节字符<BR>SQL&gt; select to_multi_byte('高') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">TO<BR>--<BR>高</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">50.TO_NUMBER<BR>将给出的字符转换为数字<BR>SQL&gt; select to_number('1999') year from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">YEAR<BR>---------<BR>1999</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">51.BFILENAME(dir,file)<BR>指定一个外部二进制文件<BR>SQL&gt;insert into file_tb1 values(bfilename('lob_dir1','image1.gif'));</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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';</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">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</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">GLOBAL_NAME DUMP_STRING<BR>------------------------------ --------------------------------------------------<BR>ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">54.EMPTY_BLOB()和EMPTY_CLOB()<BR>这两个函数都是用来对大数据类型字段进行初始化操作的函数</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">55.GREATEST<BR>返回一组表达式中的最大值,即比较字符的编码大小.<BR>SQL&gt; select greatest('AA','AB','AC') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">GR<BR>--<BR>AC<BR>SQL&gt; select greatest('啊','安','天') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">GR<BR>--<BR>天</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">56.LEAST<BR>返回一组表达式中的最小值 <BR>SQL&gt; select least('啊','安','天') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">LE<BR>--<BR>啊</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERNAME USER_ID<BR>------------------------------ ---------<BR>GAO 25</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">58.USER<BR>返回当前用户的名字<BR>SQL&gt; select user from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USER<BR>------------------------------<BR>GAO</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USEREN<BR>------<BR>FALSE<BR>SQL&gt; select userenv('isdba') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USEREN<BR>------<BR>TRUE<BR>SESSION<BR>返回会话标志<BR>SQL&gt; select userenv('sessionid') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('SESSIONID')<BR>--------------------<BR>152<BR>ENTRYID<BR>返回会话人口标志<BR>SQL&gt; select userenv('entryid') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('ENTRYID')<BR>------------------<BR>0<BR>INSTANCE<BR>返回当前INSTANCE的标志<BR>SQL&gt; select userenv('instance') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('INSTANCE')<BR>-------------------<BR>1<BR>LANGUAGE<BR>返回当前环境变量<BR>SQL&gt; select userenv('language') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('LANGUAGE')<BR>----------------------------------------------------<BR>SIMPLIFIED CHINESE_CHINA.ZHS16GBK<BR>LANG<BR>返回当前环境的语言的缩写<BR>SQL&gt; select userenv('lang') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('LANG')<BR>----------------------------------------------------<BR>ZHS<BR>TERMINAL<BR>返回用户的终端或机器的标志<BR>SQL&gt; select userenv('terminal') from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">USERENV('TERMINA<BR>----------------<BR>GAO<BR>VSIZE(X)<BR>返回X的大小(字节)数<BR>SQL&gt; select vsize(user),user from dual;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">VSIZE(USER) USER<BR>----------- ------------------------------<BR>6 SYSTEM</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">60.***G(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;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQL&gt; select ***g(distinct sal) from gao.table3;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">***G(DISTINCTSAL)<BR>----------------<BR>3333.33</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQL&gt; select ***g(all sal) from gao.table3;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">***G(ALLSAL)<BR>-----------<BR>2592.59</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">61.MAX(DISTINCT|ALL)<BR>求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,嗤闹蝗∫淮?br /&gt;SQL&gt; select max(distinct sal) from scott.emp;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">MAX(DISTINCTSAL)<BR>----------------<BR>5000</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">62.MIN(DISTINCT|ALL)<BR>求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次<BR>SQL&gt; select min(all sal) from gao.table3;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">MIN(ALLSAL)<BR>-----------<BR>1111.11</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">63.STDDEV(distinct|all)<BR>求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差<BR>SQL&gt; select stddev(sal) from scott.emp;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">STDDEV(SAL)<BR>-----------<BR>1182.5032</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQL&gt; select stddev(distinct sal) from scott.emp;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">STDDEV(DISTINCTSAL)<BR>-------------------<BR>1229.951</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">64.VARIANCE(DISTINCT|ALL)<BR>求协方差 </SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">SQL&gt; select variance(sal) from scott.emp;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">VARIANCE(SAL)<BR>-------------<BR>1398313.9</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">65.GROUP BY<BR>主要用来对一组数进行统计<BR>SQL&gt; select deptno,count(*),sum(sal) from scott.emp group by deptno;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">DEPTNO COUNT(*) SUM(SAL)<BR>--------- --------- ---------<BR>10 3 8750<BR>20 5 10875<BR>30 6 9400</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt"></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">66.H***ING<BR>对分组统计再加限制条件<BR>SQL&gt; select deptno,count(*),sum(sal) from scott.emp group by deptno h***ing count(*)&gt;=5;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">DEPTNO COUNT(*) SUM(SAL)<BR>--------- --------- ---------<BR>20 5 10875<BR>30 6 9400<BR>SQL&gt; select deptno,count(*),sum(sal) from scott.emp h***ing count(*)&gt;=5 group by deptno ;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">DEPTNO COUNT(*) SUM(SAL)<BR>--------- --------- ---------<BR>20 5 10875<BR>30 6 9400</SPAN></P>
<P><BR><SPAN style="FONT-SIZE: 10pt">67.ORDER BY<BR>用于对查询到的结果进行排序输出<BR>SQL&gt; select deptno,ename,sal from scott.emp order by deptno,sal desc;</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt">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 ***ITH 800<BR>30 *** 2850<BR>30 ALLEN 1600<BR>30 TURNER 1500<BR>30 WARD 1250<BR>30 MARTIN 1250<BR>30 JAMES 950</SPAN></P>
页: [1]
查看完整版本: oracle函数大全