Oracle 内置函数二

Ø LAST_DAY

函数LAST_DAY返回实参数指定日期对应月份的最后一天。

SQL> SELECT LAST_DAY(SYSDATE),LAST_DAY(SYSDATE-10) FROM DUAL;

LAST_DAY(SYSDATE) LAST_DAY(SYSDATE-10)

----------------- --------------------

2010-10-31 19:59: 2010-10-31 19:59:58

Ø LEAST

LEAST函数返回一数值列表中的最高数值。可使用LEAST函数处理数字数据和字符数据。

这里需要注意的是以第一个参数来判断参数是字符型还是数值型。

SQL>SELECT LEAST('12',102,-12,0,'-15'),LEAST(12,'102',-12,0,'-15') FROM DUAL;

SQL> SELECT LEAST('12',102,-12,0,'-15') FROM DUAL;

LEAST('12',102,-12,0,'-15')

---------------------------

-12

SQL> SELECT LEAST(12,102,-12,0,'-15') FROM DUAL;

LEAST(12,102,-12,0,'-15')

-------------------------

-15

Ø LENGTH/ LENGTHB

LENGTH/ LENGTHB函数返回字符串的长度。

SQL> SELECT LENGTH('汤云'),LENGTHB('汤云') FROM DUAL;

LENGTH('汤云') LENGTHB('汤云')

-------------- ---------------

2 4

Ø LN

函数LN返回一数值的自然对数。

SQL> SELECT LN(10),EXP(2.30258509) FROM DUAL;

LN(10) EXP(2.30258509)

---------- ---------------

2.30258509 9.9999999700595

Ø LOG

LOG函数返回数值的非自然对数。

LOGlogbase,number

SQL> SELECT LOG(10,100),LOG(3,27) FROM DUAL;

LOG(10,100) LOG(3,27)

----------- ----------

2 3

Ø LOWER

函数LOWER返回参数指定字符串的小写形式。

SQL> SELECT LOWER('TANG yuN tanGYUN') FROM DUAL;

LOWER('TANGYUNTANGYUN')

-----------------------

tang yun tangyun

Ø LPAD

LPAD函数从左面填充指定的字符串。

SQL> SELECT LPAD('TANGYUN',12,'*') FROM DUAL;

LPAD('TANGYUN',12,'*')

----------------------

*****TANGYUN

Ø LTRIM

LTRIM函数删除字符串左边的前缀字符。一般前缀字符总是空格。

左边单个字符单个字符的去除。这里是用单个字符去匹配,并不是用两个字符去匹配,但是必须是在最左边

SQL> SELECT LTRIM('****TANGYUN') "TRIM",LTRIM('***!*!***TANGYUN','*!') "TRIM" FROM DUAL;

TRIM TRIM

----------- -------

****TANGYUN TANGYUN

Ø MOD

MOD函数返回一个数除以另一数的余数。

如果除数为0则返回原来的数

SQL> SELECT MOD(20,3),MOD(20,0),MOD(20,2) FROM DUAL;

MOD(20,3) MOD(20,0) MOD(20,2)

---------- ---------- ----------

2 20 0

Ø MONTHS_BETWEEN

MONTHS_BETWEEN函数返回两个日期之间的月份数,不整除时候返回小数,以31为基数。

SQL> SELECT MONTHS_BETWEEN(TO_DATE('2010-09-21','YYYY-MM-DD'),TO_DATE('2010-10-31','YYYY-MM-DD')) FROM DUAL;

MONTHS_BETWEEN(TO_DATE('2010-0

------------------------------

-1.32258064516129

Ø NEW_TIME

NEW_TIME该函数用于返回时区一的日期时间所对应的时区二的日期时间。

其具体的语法格式如下:NEW_TIMEdate,oldzone,newzone

其中:date一日期数值。在Oracle中,除其自己以外,所有日期数值都有时间和记号这样的成分oldzone 代表时区的字符串。有效的时区如表所示。被推算 出的日期数值就在该时区当中newzone 也是代表时区的字符串。被从老时区到新时区转换的日期数值

下面是该函数的使用情况:

SQL> SELECT SYSDATE+6/24,NEW_TIME(SYSDATE+6/24,'EST','PST')"NEW_TIME" FROM DUAL;

SYSDATE+6/24 NEW_TIME

------------ -----------

2010-11-1 2: 2010-10-31

Ø NEXT_DAY

NEXT_DAY函数返回从实参日期开始,紧随其后的指定星期对应的日期。

NEXT_DAY(date,weekday

SQL> SELECT NEXT_DAY(SYSDATE,7) FROM DUAL;

NEXT_DAY(SYSDATE,7)

-------------------

2010-11-6 20:29:05

这里的7表示星期天,要和自己服务器上的周对应。

有的服务器上是下面这种情况:

SQL> SELECT NEXT_DAY(SYSDATE,'FRI') FROM DUAL;

NEXT_DAY(SYSDATE,'FRI')

-------------------

2010-11-6 20:29:05

Ø NLS_INITCAP(CHAR,’NLS_PARAM’)

该函数用于将字符串CHAR的首字符大写,其他字符小写,其中CHAR用于指定NCHAR或者NVARCHAR2类型字符串,其中前面加上n,用单引号括起来,NLS_PARAM格式“NLS_SORT=SORT”,用于指定特定语言的特征。

SQL> SELECT NLS_INITCAP(n'TANG YUN!') FROM DUAL;

NLS_INITCAP(N'TANGYUN!')

------------------------

Tang Yun!

Ø NLS_LOWER(CHAR,’NLS_PARAM’)

该函数用于将字符串CHAR转换成小写,其中CHAR用于指定NCHAR或者NVARCHAR2类型字符串,其中前面加上n,用单引号括起来,NLS_PARAM格式“NLS_SORT=SORT”,用于指定特定语言的特征。

SQL> SELECT NLS_LOWER(n'TANG YUN!') FROM DUAL;

NLS_LOWER(N'TANGYUN!')

----------------------

tang yun!

Ø NLS_SORT(CHAR,’NLS_PARAM’)

该函数用于按照特定语言的要求进行排序,其中CHAR用于指定NCHAR或者NVARCHAR2类型字符串,其中前面加上n,用单引号括起来,NLS_PARAM格式“NLS_SORT=SORT”,用于指定特定语言的特征。

按笔画排序:

SQL> SELECT name FROM (SELECT '' name FROM DUAL UNION SELECT '' name FROM DUAL) ORDER BY NLSSORT(name,'NLS_SORT=SCHINESE_STROKE_M');

NAME

----

按拼音排序:

SQL> SELECT name FROM (SELECT '' name FROM DUAL UNION SELECT '' name FROM DUAL) ORDER BY NLSSORT(name,'NLS_SORT=SCHINESE_PINYIN_M');

NAME

----

按部首排序:

SQL> SELECT name FROM (SELECT '' name FROM DUAL UNION SELECT '' name FROM DUAL) ORDER BY NLSSORT(name,'NLS_SORT=SCHINESE_RADICAL_M');

NAME

----

Ø NLS_UPPER(CHAR,’NLS_PARAM’)

该函数用于将字符串CHAR转换成大写,其中CHAR用于指定NCHAR或者NVARCHAR2类型字符串,其中前面加上n,用单引号括起来,NLS_PARAM格式“NLS_SORT=SORT”,用于指定特定语言的特征。

SQL> SELECT NLS_UPPER(n'tang yun!') FROM DUAL;

NLS_UPPER(N'TANGYUN!')

----------------------

TANG YUN!

Ø NVL

NVL函数需要两个参数。如果第一个参数为空,则返回第二个参数。否则会返回第一个参数。

SQL> SELECT NVL(NULL,'NONE'),NVL('NOT NULL','NONE') FROM DUAL;

NVL(NULL,'NONE') NVL('NOTNULL','NONE')

---------------- ---------------------

NONE NOT NULL

Ø NVL2

NVL2函数需要三个参数。如果第一个参数为空,则返回第三个参数。否则返回第二个参数。

SQL> SELECT NVL2(NULL,1,2) FROM DUAL;

NVL2(NULL,1,2)

--------------

2

SQL> SELECT NVL2(0,1,2) FROM DUAL;

NVL2(0,1,2)

-----------

1

Ø NULLIF

表达式需要两个参数表达式,如果两个参数表达式相等则返回NULL,如果两个参数表达式不相等则返回第一个参数表达式。

SQL> SELECT NULLIF(2+3,5) FROM DUAL;

NULLIF(2+3,5)

-------------

SQL> SELECT NULLIF('a','A') FROM DUAL;

NULLIF('A','A')

---------------

a

Ø POWER

函数POWER返回一个数值的指定次幂。POWER(number,power)

SQL> SELECT POWER(3,2),POWER(2,3) FROM DUAL;

POWER(3,2) POWER(2,3)

---------- ----------

9 8

Ø RAWTOHEX

RAWTOHEX函数将一raw转换成十六进制字符表示的串值。

其具体的语法格式如下:

RAWTOHEXraw_value

其中:raw_valueRAW型数值

下面是该函数的使用情况:

SQL>CREATE TABLE xx(y raw(10));

Table created.

SQL>INSERT INTO xx VALUES(HEXTORAW(‘414243’));

1 row created.

SQL>SELECT RAWTOHEX(y) FORM xx;

RAWTOHEX(Y)

------

414243

[@more@]

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

转载于:http://blog.itpub.net/24930246/viewspace-1041572/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值