熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫常用函數(1)

2013-11-13 22:14:21  來源: Oracle 

   ASCII

  返回與指定的字符對應的十進制數;

  SQL> select ascii(A) Aascii(a) aascii() zeroascii( ) space from dual;

  A          a       ZERO      SPACE

  

                            

   CHR

  給出整數返回對應的字符;

  SQL> select chr() zhaochr() chr from dual;

  ZH C

  

  趙 A

   CONCAT

  連接兩個字符串;

  SQL> select concat()||轉 高乾競電話 from dual;

  高乾競電話

  

  

   INITCAP

  返回字符串並將字符串的第一個字母變為大寫;

  SQL> select initcap(smith) upp from dual;

  UPP

  

  Smith

  INSTR(CCIJ)

  在一個字符串中搜索指定的字符返回發現指定的字符的位置;

  C 被搜索的字符串

  C 希望搜索的字符串

  I 搜索的開始位置默認為

  J 出現的位置默認為

  SQL> select instr(oracle traningra) instring from dual;

  INSTRING

  

  

  LENGTH

  返回字符串的長度;

  SQL> select namelength(name)addrlength(addr)sallength(to_char(sal)) from gaonchar_tst;

  NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))

  

  高乾競 北京市海錠區

  LOWER

  返回字符串並將所有的字符小寫

  SQL> select lower(AaBbCcDd)AaBbCcDd from dual;

  AABBCCDD

  

  aabbccdd

  UPPER

  返回字符串並將所有的字符大寫

  SQL> select upper(AaBbCcDd) upper from dual;

  UPPER

  

  AABBCCDD

  RPAD和LPAD(粘貼字符)

  RPAD 在列的右邊粘貼字符

  LPAD 在列的左邊粘貼字符

  SQL> select lpad(rpad(gao*)*)from dual;

  LPAD(RPAD(GAO

  

  *******gao*******

  不夠字符則用*來填滿

  LTRIM和RTRIM

  LTRIM 刪除左邊出現的字符串

  RTRIM 刪除右邊出現的字符串

  SQL> select ltrim(rtrim( gao qian jing ) ) from dual;

  LTRIM(RTRIM(

  

  gao qian jing

  SUBSTR(stringstartcount)

  取子字符串從start開始取count個

  SQL> select substr() from dual;

  SUBSTR(

  

  

  REPLACE(stringss)

  string 希望被替換的字符或變量

  s 被替換的字符串

  s 要替換的字符串

  SQL> select replace(he love youhei) from dual;

  REPLACE(H

  

  i love you

  SOUNDEX

  返回一個與給定的字符串讀音相同的字符串

  SQL> create table table(xm varchar());

  SQL> insert into table values(weather);

  SQL> insert into table values(wether);

  SQL> insert into table values(gao);

  SQL> select xm from table where soundex(xm)=soundex(weather);

  XM

  

  weather

  wether

  ? TRIM(s from string)

  LEADING 剪掉前面的字符

  TRAILING 剪掉後面的字符

  如果不指定默認為空格符

  ABS

  返回指定值的絕對值

  SQL> select abs()abs() from dual;

  ABS() ABS()

  

  

  ACOS

  給出反余弦的值

  SQL> select acos() from dual;

  ACOS()

  

  

  ASIN

  給出反正弦的值

  SQL> select asin() from dual;

  ASIN()

  

  

  ATAN

  返回一個數字的反正切值

  SQL> select atan() from dual;

  ATAN()

  

  

  CEIL

  返回大於或等於給出數字的最小整數

  SQL> select ceil() from dual;

  CEIL()

  

  

  COS

  返回一個給定數字的余弦

  SQL> select cos() from dual;

  COS()

  

  

  COSH

  返回一個數字反余弦值

  SQL> select cosh() from dual;

  COSH()

  

  

  EXP

  返回一個數字e的n次方根

  SQL> select exp()exp() from dual;

  EXP() EXP()

  

  

  FLOOR

  對給定的數字取整數

  SQL> select floor() from dual;

  FLOOR()

  

  

  LN

  返回一個數字的對數值

  SQL> select ln()ln()ln() from dual;

  LN() LN() LN()

  

  

  LOG(nn)

  返回一個以n為底n的對數

  SQL> select log()log() from dual;

  LOG() LOG()

  

  

  MOD(nn)

  返回一個n除以n的余數

  SQL> select mod()mod()mod() from dual;

  MOD() MOD() MOD()

  

  

  POWER

  返回n的n次方根

  SQL> select power()power() from dual;

  POWER() POWER()

  

  

  ROUND和TRUNC

  按照指定的精度進行捨入

  SQL> select round()round()trunc()trunc() from dual;

  ROUND() ROUND() TRUNC() TRUNC()

  

  

  SIGN

  取數字n的符號大於返回小於返回等於返回

  SQL> select sign()sign()sign() from dual;

  SIGN() SIGN() SIGN()

  

  

  SIN

  返回一個數字的正弦值

  SQL> select sin() from dual;

  SIN()

  

  

  SIGH

  返回雙曲正弦的值

  SQL> select sin()sinh() from dual;

  SIN()   SINH()

  

   

  SQRT

  返回數字 n 的平方根

  SQL> select sqrt() sqrt() from dual;

  SQRT()   SQRT()

  

  

  TAN

  返回數字的正切值

  SQL> select tan()tan() from dual;

  TAN() TAN()

  

  

  TANH

  返回數字n的雙曲正切值

  SQL> select tanh()tan() from dual;

  TANH()    TAN()

  

  

  TRUNC

  按照指定的精度截取一個數

  SQL> select trunc() trunctrunc() from dual;

  TRUNC TRUNC()

  

              

  ADD_MONTHS

  增加或減去月份

  SQL> select to_char(add_months(to_date(yyyymm))yyyymm) from dual;

  TO_CHA

  

  

  SQL> select to_char(add_months(to_date(yyyymm))yyyymm) from dual;

  TO_CHA

  

  

  LAST_DAY

  返回日期的最後一天

  SQL> select to_char(sysdateyyyymmdd)to_char((sysdate)+yyyymmdd) from dual;

  TO_CHAR(SY TO_CHAR((S

  

  

  SQL> select last_day(sysdate) from dual;

  LAST_DAY(SYSDA

  

  

  MONTHS_BETWEEN(datedate)

  給出datedate的月份

  SQL> select months_between() mon_between from dual;

  MON_BETWEEN

  

  

  SQL> select months_between(to_date( yyyymmdd)to_date( yyyymmdd)) mon_betw from dual;

  MON_BETW

  

  

  NEW_TIME(datethisthat)

  給出在this時區=other時區的日期和時間

  SQL> select to_char(sysdateyyyymmdd hh:mi:ss) bj_timeto_char(new_time

   (sysdatePDTGMT)yyyymmdd hh:mi:ss) los_angles from dual;

  BJ_TIME LOS_ANGLES

  

   :: ::

  NEXT_DAY(dateday)

  給出日期date和星期x之後計算下一個星期的日期

  SQL> select next_day(星期五) next_day from dual;

  NEXT_DAY

  

  

  SYSDATE

  用來得到系統的當前日期

  SQL> select to_char(sysdateddmmyyyy day) from dual;

  TO_CHAR(SYSDATE

  

   星期日

  trunc(datefmt)按照給出的要求將日期截斷如果fmt=mi表示保留分截斷秒

  SQL> select to_char(trunc(sysdatehh)yyyymmdd hh:mi:ss) hh

   to_char(trunc(sysdatemi)yyyymmdd hh:mi:ss) hhmm from dual;

  HH HHMM

  

   :: ::


From:http://tw.wingwit.com/Article/program/Oracle/201311/18567.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.