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博客 ” ,链接:http://blog.itpub.net/11997930/viewspace-1027765/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11997930/viewspace-1027765/