ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle函数大全连载(二)L-R

oracle函数大全连载(二)L-R

原创 Linux操作系统 作者:流浪天际 时间:2011-06-11 15:50:17 0 删除 编辑

LAST_DAY

返回日期的最后一天
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;

TO_CHAR(SY TO_CHAR((S
---------- ----------
2004.05.09 2004.05.10
SQL> select last_day(sysdate) from dual;

LAST_DAY(S
----------
31-5
 -04

LEAST

返回一组表达式中的最小值

SQL> select least('','','') from dual;

LE
--

LENGTH

返回字符串的长度;

SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;

NAME   LENGTH(NAME) ADDR             LENGTH(ADDR)       SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ --------- --------------------
高乾竞            3 北京市海锭区                6   9999.99                    7

LENGTHB

LENGTH()一样,返回字节

LN

返回一个数字的自然对数值
SQL> select ln(1),ln(2),ln(2.7182818) from dual;

    LN(1)     LN(2) LN(2.7182818)
--------- --------- -------------
        0 .69314718     .99999999

LOCALTIMESTAMP

Fmt:该函数用于返回当前会话时区的日期时间。

LOG(n1,n2)

返回一个以n1为底n2的对数 
SQL> select log(2,1),log(2,4) from dual;

 LOG(2,1)  LOG(2,4)
--------- ---------
        0         2

LOWER

返回字符串,并将所有的字符小写

SQL> select lower('AaBbCcDd')AaBbCcDd from dual;

AABBCCDD
--------
aabbccdd

LPAD(粘贴字符)

LPAD(粘贴字符)

RPAD  在列的右边粘贴字符
LPAD  
在列的左边粘贴字符

SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;

LPAD(RPAD('GAO',1
-----------------
*******gao*******
不够字符则用*来填满

LTRIM

LTRIM  删除左边出现的字符串
RTRIM  
删除右边出现的字符串
SQL> select ltrim(rtrim('   gao qian jing   ',' '),' ') from dual;

LTRIM(RTRIM('
-------------
gao qian jing

MAKE_REF

MAX

MIN

MOD(n1,n2)

返回一个n1除以n2的余数,如果数字n0,则返回结果为m

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

MONTHS_BETWEEN(date2,date1)

返回date1date2之间月的数目,如果date1date2的日的日期都相同,或者都使该月的最后一天,那么将返回一个整数,否则会返回的结果将包含一个分数。给出date2-date1的月份
SQL> select months_between('19-12
-1999','19-3-1999') mon_between from dual;

MON_BETWEEN
-----------
          9
SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd')) mon_betw from dual;

 MON_BETW
---------
      -60

NEW_TIME(date,'this','that')

给出在this时区=other时区的日期和时间
SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time
  2  (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;

BJ_TIME             LOS_ANGLES
------------------- -------------------
2004.05.09 11:05:32 2004.05.09 18:05:32

NEXT_DAY(date,'day')

给出日期date和星期x之后计算下一个星期的日期
SQL> select next_day('18-5
-2001','星期五') next_day from dual;

NEXT_DAY
----------
25-5
 -01

NEW_TIME

FMTnew_time(date,zone1,zone2)该函数用于返回时区一的日期时间所对应的时区二的日期时间。

SQL> select to_char(new_time(to_date('20050725 14:34:50','yyyymmdd hh24:mi:ss'),

'AST','GMT'),'yyyymmdd hh24:mi:ss') from dual;

NLSSORT

NLS_CHARSET_DECL_LEN

NLS_CHARSET_ID

NLS_CHARSET_NAME

NLS_INICAP

Nls_inicap(char,’nls_param’):其中char用于指定ncharnvarchar2类型的字符串,其前面加上n,用单引号括起来,nls_param的格式为‘nls_sort=sort’,用于指定特定语言特征。

Declare

V_nls_initcap nChar(10);

Begin

  V_nls_initcap:=nls_initcap(n’my word’);

End;

NLS_LOWER

NLS_UPPER

NVL

POWER

返回n1n2次方根。
SQL> select power(2,10),power(3,3) from dual;

POWER(2,10) POWER(3,3)
----------- ----------
       1024         27

RAWTOHEX

将一个二进制构成的字符串转换为十六进制

REF

REFTOHEX

REPLACE('string','s1','s2')

string   希望被替换的字符或变量 
s1       
被替换的字符串
s2       
要替换的字符串

SQL> select replace('he love you','he','i') from dual;

REPLACE('H
----------
i love you

ROUND

将日期d按照fmt指定的格式舍入,fmt为字符串。

Round(n,[m])

如果m是负数,则四舍五入到小数点前m位,如果m是正数,则四舍五入到小数点后m位。

SQL>select round(12.34,'-1') from dual;

10

按照指定的精度进行舍入
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

ROWID

ROWIDTOCHAR

ROWID数据类型转换为字符类型

select rowidtochar(rowid),a.* from code_opponent a ;

RPAD (粘贴字符)

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17032106/viewspace-697667/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-12-27

  • 博文量
    39
  • 访问量
    86681