SG_007_CHAPTER 3(1)

NULL Value (NVL): nvl(x1,x2)

如果x1是为空,返回x2。如果x1不为空,则返回x1.

NULL Value 2 (NVL2)nvl2(x1,x2,x3)

如果x1为空,返回x3.如果x1不为空,返回x2.

ASCII把字符转换为asc码。

例如:

Select ASCII(‘A’)

FROM DUAL;

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

65

CHR: 把二进制码转换为字符。

例如:

Select CHR(65)

FROM DUAL;

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

A

CONCAT(,):返回c1||c2

如果c1为空,则返回c2. 如果c2为空,则返回c1.如果全为null,则返回null

INITCAP

例子

Select INITCAP(‘the three’)

From dual;

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

The Three

INSTR:

Instr(,[,[,]])

为从第几个字符开始,为经历了几次c2C1c2为字符串。若i为负值,则从右往左开始计数。

例如:select instr(‘Mississippi’,’i’,3,3),

Instr(‘Mississippi’,’i’,-2,3)

From dual;

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

11 2

LENGTH

Length(‘the the’) 返回长度

LENGTHB

返回byte

LOWER

返回小写

LPAD

LPAD(c1,i,c2) 填充到i,以c2为填充内容,再返回c1

例子:LDAPanswer,7,’.’

….yes

LTRIM:

LTRIM(C1,C2):返回c1,其中c1第一个字符不能是c2中的字符。如果c2为空,那么直接返回c1.

RPAD

RPAD(c1,i,c2):c2字符,把c1填充到i的数量。

RTRIM:

LTRIM,方向向右。

REPLACE:

REPLACE(c1,c2,c3):返回c1,其中c2c1中的相同内容,使用c3来代替。

SUBSTR:

Substr(c1,x,y): 返回位置x到位置yc1中的部分字符串,

C1为字符串,xy为整数。

TRANSLATE:

TRANSLATE(c1,c2,c3): 返回c1c1c2的字符串使用c3来(逐个)代替。

例子:

Select TRANSLATE(‘fumble’,’uf’,’aR’) test1,

TRANSLATE(‘Mississippi’,’Mis’,’mIS’) test3,

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

Ramble MISSISSIppI

TRIM:

TRIM(c1 c2 c3) c2c3是字符串,c1可以是“LEADING, 或者 TRAILING,

返回c3除去c2中的字符串。c1默认是BOTHc2默认是空格。

Upper

UPPER():返回大写。

ABS()返回绝对值。

CEIL()返回大于n的一个整数值。

FLOOR():返回小于n的一个整数值。

MOD(,)返回n1除以n2的余数。

Power(,):返回n1n2次方。

ROUND(,)返回约数。

例子:ROUND(12345,-2)

ROUND(12345.54321,2)

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

12300 12345.54

SIGN()n为正数返回1n为负数返回-1n0返回0.

SQRT()返回n的开根号数。

TRUNC(,)功能同ROUND

改变NLS格式:

ALTER SESSION SET NLS_DATE_FORMAT=’DD-MON-YYYY HH24:MI:SS’

ADD_MONTHS(,):d为日期,i为整数。返回d为日期加上i个月。

CURRENT_DATE:返回当前会话的日期。

CURRENT_TIMESTAMP([

]) :

返回当前日期和时间,秒默认为 6 位,时区。

DBTIMEZONE:返回数据库的时区。用ALTER DATABASE修改之后,重启数据库才生效。

EXTRACT( FROM )

例子:

SELECT SYSDATE

,EXTRACT(YEAR FROM SYSDATE) YEAR

,EXTRACT(MONTH FROM SYSTIMESTAMP) MONTH

,EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) TZH

FROM dual

SYSDATE YEAR MONTH TZH

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

24-SEP-2002 05:04:26 2002 9 - 5

LAST_DAY()返回d日期中当月的最后一天。

LAST_DAY()+1 返回下个月的第一天。

LOCALTIMESTAMP( [] ): 返回日期,时间,秒(默认6位)

类型为TIMESTAMP,不返回时区。

MONTHS_BETWEEN(,):返回d1 减去 d2,得到的月份数。可能有小数点。

NEXT_DAY():返回d日期下一个dow(日期片段)的日期。

ROUND( [ , ] ):返回d时间,精确到fmt的时间颗粒。

SESSIONTIMEZONE:返回连接的时区。

SYSTIMESTAMP:返回日期,时间,秒精确到6位数,时区。

TRUNC( [ , ] ) : 截取当前d时间的当前时间片fmt的第一天。

BIN_TO_NUM ( ) : 2进制转换到10进制。

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

Select BIN_TO_NUM(1,1,0,1)

From dual;

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

13

[@more@]

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

转载于:http://blog.itpub.net/11997930/viewspace-1027765/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值