1.1 字符函数--返回字符值
CHR(x) 返回在数据库字符集中与x具有等价数值的字符。ASCII(string)返回string的第一个字节的十进制表示。
CONCAT(string1,string2)返回string1+string2,等同于||运算符。
INITCAP(string)返回字符串中每个单词第一个字母大写,其他字母小写的string。不是字母的字符不受影响。
LOWER(string)以小写形式返回string,UPER(string)以大写形式返回string。
LPAD(string1, x [, string2] )返回长度为n,左边使用string2填充的string1。string2默认为单空格。若n<length.string1,截取str1.
RPAD(string1, x[, string2])返回长度为n,右边使用string2填充的string1。string2从左往右填充。
LTRIM(string1, string2)返回从左边算起,删除在string1中出现的string2中的字符,直至第一个不在string2中的字符,返回剩下的字符。
RTRIM(string1,string2)返回从右边算起……,string2默认为 单空格。
REPLACE(string,search_str[, replace_str])返回用replace_str替换所有在string中出现的search_str的string。replace_str默认单空格。
SUBSTR(string, a[ , b])返回从string第a个字母位置开始,长度为b的子字符串。若a为负数,那么返回字符是从string的末尾开始向右进行计算的,即倒数第a个字符开始,向右b长度的子字符串。若b小于1,返回NULL。
SUBSTRB(string,a[, b])同SUBSTR,只是a和b是以字节为单位表示的,而不是以字符为单位。即b是SUBSTR中的2倍。
TRANSLATE(string, from_str, to_str)返回将string中的from_str替换为对应的to_str的相应字符串。to_str不能为空。若某个参数为NULL,那么结果也为NULL。
NLS_INITCAP(string[, nlsparams])若没有指定nlsparams返回结果同INITCAP,nlsparams指定不同于该会话缺省值的不同排序序列
‘NLS_INITCAP= sort'
SELECT NLS_INITCAP('ijsbeer’,‘NLS_SORT=Xdutch' "Result" FROM dual;
Result
---------------
IJsbeer
NLS_LOWER(string[, nlsparams])同LOWER,参数的形式和用途同NLS_INITCAP。
NLS_UPPER(string,[ nlsparams])
1.2 字符函数--返回数字值
ASCII(string)返回string第一个字节的十进制表示。
INSTR(string1, string2[a,[,b]])返回string2在string1中从第a个字符开始,第b次出现的第一个string2字符的位置。
INSTRB(string1,string2[a,[,b]])同INSTR, a以及返回值是以字节为单位。
LENGTH(string)以字节为单位返回string的长度。CHAR类型末尾的空格也被计算到字符串的长度中了。NULL返回NULL。
LENGTHB(string)返回以字节为单位的长度。
假设是双字节字符集
SELECT LENGTHB('Mary is a girl') "Length" FROM dual;
Length
-----------
28
NLSSORT(string[, nlsparams])返回用于排序string的字符串字节。所有的数值都被转换为字节字符串,这样在不同数据库字符集之间保持了一致性。
1.3数字函数
ABS(x) 返回x的绝对值。
ACOS(x)返回x的反余弦(arc cosine)值。 x∈[-1,1],输出值在0-Pi之间,以弧度为单位。
ASIN(x)返回x的反正弦(arc sine)值。x∈[-1,1],输出值在-Pi/2到Pi/2之间,以弧度为单位。
ATAN(x)返回x的反正切值。输出值在-Pi/2到Pi/2之间,以弧度为单位。
ATAN(X,Y)返回X和Y的反正切。输出值在-Pi到Pi之间,取决于X和Y的符号,以弧度为单位。ATAN2(X,Y)和ATAN(x/y)相同。x,y为坐标。
COS(x)返回x的预先cosine。x是以弧度表示的角度。
COSH(X)返回X的双曲余弦值hyperbolic cosine。
SIN(X)返回X的正弦sine值。X是以弧度为单位的角度。
SINH(X)返回X的双曲正弦值。
TAN(X)返回X的正切值。x是以弧度为单位的角度。
TANH(X)返回X的双曲正切值。
EXP(X)返回e的X次幂。e=2.71828183……
FLOOR(X)返回小于或等于X的最大整数值。
LN(X)返回X的自然对数natural logarithm。 X必须大于0。即以e为底X的对数。返回值为InX。
LOG(X,Y)返回以X为底Y的对数。X大于0,且不是0或者1.
MOD(X,Y)返回X除以Y的余数。如果Y=0,则返回X。
POWER(X,Y)返回X的Y次幂。若X<0,Y必须是一个整数。
ROUND(X[,Y])返回舍入到小数点右边Y位的X值。Y缺省值为0。
SIGN(X)若果X<0,返回-1。 如果X=0,返回0。如果X>0返回1。
SQRT(X)返回X平方根。X>=0。
TRUNC(X[,Y])返回截尾到(truncate,和round相对应)Y位小数的X值。Y缺省值为0。若Y<0,那么就结尾到小数点左边相应的位上。
1.4 日期函数
ADD_MONTHS(D,X)返回日期D加上X个月以后的结果。若结果D的日数比结果月份的日数大(如ADD_MONTHS(’30-JAN-2010',1),D是30-JAN-2010,结果月份是那么结果月份的最后一天会被返回。否则结果中的日和D中的日相同。
LAST_DAY(D)返回包含日期D的月份的最后一天的日期。
MONTH_BETWEEN(D1,D2),结果中包含一个分数部分时,以31天作为一个月份进行计算。D1-D2
NEW_TIME(D,ZONE1,ZONE2)将时区ZONE1中的时间D以 时区ZONE2中的时间格式返回。
NEXT_DAY(D,STRING)返回在日期D之后满足string给出的条件的那一天。string为星期几。
ROUND(D[, FORMAT])返回日期D按照由format指定的格式进行舍入。format的缺省值为'DD'
SYSDATE 返回当期日期和时间。
TRUNC(D[, FROMAT])返回结尾由from指定的单位的日期D。format的缺省值为'DD'。
日期算术:
运算 返回数值类型 结果
d1-d2 NUMBER 返回D1和D2之间相差的天数。不足一天的以小数形式表示。
d1+d2 N/A 非法-- 仅能进行两个日期的相减。
D1+N DATE 在D1上加上N天并作为DATE类型返回结果。N可以是一个实数。
D1-N DATE 从D1上减去N天并作为DATE类型返回结果。
1.5转换函数
CHARTOROWID(STRING)将包含外部格式的ROWID的CHAR或VARCHAR2数值转换为内部的二进制格式。参数string必须是包含外部格式的ROWID的18字符的字符串。
CONVERT(STRING, DEST_SET[, SOURCE_SET])将字符串string从source_set所标识的字符集转换为由dest_set所标识的字符集。source_set缺省地被设置为数据库的字符集。
HEXTORAW(string)将由string表示的二进制数值转换为一个RAW的数值。
RAWTOHEX(RAWVALUE)将RAW类数值rawvalue转换为一个相应的十六进制表示的字符串。
TO_CHAR(D[, FROMAT [, NLSPARAMS]])将日期D转换为一个VARCHAR2类型的字符串。