ITPub博客

首页 > 应用开发 > IT综合 > SG_007_CHAPTER 3(1)

SG_007_CHAPTER 3(1)

原创 IT综合 作者:chenai79921 时间:2009-10-11 22:40:19 0 删除 编辑

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(,[,[,]])

为从第几个字符开始,为经历了几次c2。C1和c2为字符串。若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。

例子:LDAP(answer,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,其中c2在c1中的相同内容,使用c3来代替。

SUBSTR:

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

C1为字符串,x,y为整数。

TRANSLATE:

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

例子:

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

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

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

Ramble MISSISSIppI

TRIM:

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

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

Upper:

UPPER():返回大写。

ABS():返回绝对值。

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

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

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

Power(,):返回n1的n2次方。

ROUND(,):返回约数。

例子:ROUND(12345,-2)

ROUND(12345.54321,2)

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

12300 12345.54

SIGN():n为正数返回1,n为负数返回-1,n为0返回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博客 ” ,链接:https://blog.itpub.net/11997930/viewspace-1027765/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: SG_007_CHAPTER ONE
下一篇: SG_007_CHAPTER 3(2)
请登录后发表评论 登录
全部评论
  • 博文量
    19
  • 访问量
    14160