您的位置:首页 > 数据库

PL/SQL简单函数

2008-11-23 14:35 176 查看
字 符 函 数

函 数说 明
ASCII(x)返回字符x的ASCII码
CHR(x)返回ASCII码为x的字符
CONCAT(x, y)将y添加在x上,并将得到的字符串作为结果返回
INITCAP(x)将x中每个单词的首字母都转换成大写,并返回得到的字符串
INSTR(x, find_ string
[, start] [, occurrence])
在x中查找字符串find_string,然后返回find_string所在的位置。可以提供一个可选的start位置来指定该函数从这个位置开始查找。同样,也可以指定一个可选的occurrence参数,来说明应该返回find_string第几次出现的位置
LENGTH(x)返回x中字符的个数
LOWER(x)将x中的字母转换成小写,并返回得到的字符串
LPAD(x, width
[, pad_string])
在x的左边补齐空格,得到总长为width个字符的字符串。该函数可以提供一个可选的pad_string,这个参数用于指定重复使用哪个字符串来补齐x左边的空位。返回x被补齐之后的结果字符串
LTRIM(x[, trim_string])从x的左边截去一些字符。可以使用一个可选的参数trim_string来指定要截去的字符;如果不指定trim_string参数,则默认截去空格
(续表)

函 数说 明
NANVL(x, value)如果x匹配NAN这个特殊值(非数字),就返回value;否则返回x。(这是Oracle Database 10g新增加的一个函数)
NVL(x, value)如果x为空,就返回value;否则返回x
NVL2(x,value1, value2)如果x非空,就返回value1;否则返回value2
REPLACE(x,search_string,
replace_string)
在x中查找search_string,并将其替换为replace_string
RPAD(x,width[,pad_string])与LPAD()类似,不过要对x的右边补齐
RTRIM(x[, trim_string])与LTRIM()类似,不过要对x的右边截去
SOUNDEX(x)返回一个包含x的发音的字符串。该函数用于对英文发音不同但却比较接近的单词进行比较
SUBSTR(x, start[, length])返回x中的一个子字符串,这个子字符串从start处开始,还可以为这个子字符串指定一个可选的length参数
TRIM([trim_charFROM] x)从x的左边和右边同时截去一些字符。可以使用一个可选的参数trim_string来指定要截去的字符;如果不指定trim_string参数,则默认截去空格
UPPER(x)将x中的字母转换为大写,并返回得到的字符串
数 字 函 数

函 数说 明例 子
ABS(x)返回x的绝对值ABS(10) = 10
ABS(-10) = 10
ACOS(x)返回x的反余弦ACOS(1) = 0
ACOS(-1) = 3.14159265
ASIN(x) 返回x的反正弦ASIN(1) = 1.57079633
ASIN(-1) = -1.5707963
ATAN(x) 返回x的反正切ATAN(1) = .785398163
ATAN(-1) = -.78539816
ATAN2(x, y) 返回x 和y的反正切ATAN2(1, -1) = 2.35619449
BITAND(x, y)返回对x和y进行位与(AND)操作的结果BITAND(0, 0) = 0
BITAND(0, 1) = 0
BITAND(1, 0) = 0
BITAND(1, 1) = 1
BITAND(1010, 1100) = 64
COS(x) 返回x的余弦,其中x是弧度COS(90 * 3.1415926) = 1
COS(45 * 3.1415926) = -1
COSH(x) 返回x的双曲余弦函数COSH(3.1415926) = 11.5919527
CEIL(x) 返回大于或等于x的最小整数CEIL(5.8) = 6
CEIL(-5.2) = -5
EXP(x) 返回e的x次幂,其中e约等于2.71828183EXP(1) = 2.71828183
EXP(2) = 7.3890561
FLOOR(x) 返回小于或等于x的最大整数 FLOOR(5.8) = 5
FLOOR(-5.2) = -6
LOG(x, y) 返回以x为底y的对数LOG(2, 4) = 2
LOG(2, 5) = 2.32192809
(续表)

函 数说 明例 子
LN(x) 返回x的自然对数LN(2.71828183) = 1
MOD(x, y) 返回x除以y的余数MOD(8, 3) = 2
MOD(8, 4) = 0
POWER(x, y)返回x的y次幂POWER(2, 1) = 2
POWER(2, 3) = 8
ROUND(x[, y]) 返回对x取整的结果;y为可选参数,说明对第几位小数取整。如果没有指定y,则对x在0位小数处取整;如果y是负数,则对x在小数点的左边的第|y|位处取整ROUND(5.75) = 6
ROUND(5.75, 1) = 5.8
ROUND(5.75, -1) = 10
SIGN(x) 如果x是负数,则返回-1;如果x是正数则返回1;如果x为0则返回0SIGN(-5) = -1
SIGN(5) = 1
SIGN(0) = 0
SIN(x) 返回x的正弦函数SIN(0) = 0
SINH(x) 返回x的双曲正弦函数SINH(1) = 1.17520119
SQRT(x) 返回x的平方根SQRT(25) = 5
SQRT(5) = 2.23606798
TAN(x) 返回x的正切函数TAN(0) = 0
TANH(x) 返回x的双曲正切函数TANH(1) = .761594156
TRUNC(x[, y]) 返回对x截断的结果;y为可选参数,说明对第几位小数截断。如果没有指定y,则对x在0位小数处截断;如果y是负数,则对x在小数点左边的第|y|位处截断TRUNC(5.75) = 5
TRUNC(5.75, 1) = 5.7
TRUNC(5.75, -1) = 0
转 换 函 数

函 数说 明
ASCIISTR(x)将x转换为一个ASCII字符串,其中x可以是由字符集中的任意字符组成的字符串
BIN_TO_NUM(x)将二进制数字x转换为NUMBER类型
CAST(x AS type)将x转换为type所指定的兼容数据库类型
CHARTOROWID(x)将x转换为ROWID类型
COMPOSE(x)将x转换为一个Unicode编码的字符串,字符串使用与x完全相同的字符集。Unicode使用2字节字符集,可以表示超过65 000个字符;也可以用于表示非英语字符
(续表)

函 数说 明
CONVERT(x,
source_char_set,
dest_char_set)
将x从source_char_set转换为dest_char_set
DECODE
(x, search, result, default)
将x与search中的值进行比较;如果相等,DECODE() 就返回result的值,否则返回default的值
DECOMPOSE(x)先对x进行分解,再将其转换为一个Unicode字符串,字符串使用与x完全相同的字符集
HEXTORAW(x)将包含十六进制数字(基数为16)的字符x转换为一个二进制数字(RAW)。这个函数返回RAW类型的数字
NUMTODSINTERVAL(x)将数字x转换为一个INTERVAL DAY TO SECOND类型。下一章将会介绍有关日期和时间间隔的函数
NUMTOYMINTERVAL(x)将数字x转换为一个INTERVAL YEAR TO MONTH类型
RAWTOHEX(x)将二进制数字(RAW)x转换为一个VARCHAR2类型的字符串,值为等价的十六进制数字
RAWTONHEX(x)将二进制数字(RAW)x转换为一个NVARCHAR2类型的字符串,值为等价的十六进制数字。NVARCHAR2类型用于以国家字符集格式存储字符串
ROWIDTOCHAR(x)将ROWID x转换为一个VARCHAR2 字符串
ROWIDTONCHAR(x)将ROWID x转换为一个NVARCHAR2 字符串
TO_BINARY_DOUBLE(x)将x转换为一个BINARY_DOUBLE类型。(此函数是Oracle Database 10g新增的一个函数。)
TO_BINARY_FLOAT(x)将x转换为一个BINARY_FLOAT类型。(此函数是Oracle Database 10g新增的一个函数。)
TO_BLOB(x)将x转换为一个二进制大对象(BLOB)类型。BLOB用来存储大量的二进制数据。第14章将介绍大对象的知识
TO_CHAR(x[, format])将x转换为一个VARCHAR2字符串。可以指定一个可选参数format来说明x的格式
TO_CLOB(x)将x转换为一个字符大对象(CLOB)。CLOB用于保存大量的字符数据
TO_DATE(x[, format])将x转换为一个DATE类型
TO_DSINTERVAL(x)将x转换为一个INTERVAL DAY TO SECOND类型
TO_MULTI_BYTE(x)将x中的单字节字符转换为对应的多字节字符。返回类型与x的类型相同
TO_NCHAR(x)将数据库字符集中的x转换为一个NVARCHAR2字符串
TO_NCLOB(x)将x转换为一个NCLOB类型。NCLOB用于保存大量的国家语言字符数据
TO_NUMBER(x[, format])将x转换为一个NUMBER类型
TO_SINGLE_BYTE(x)将x中的多字节字符转换为对应的单字节字符。返回类型与x的类型相同
TO_TIMESTAMP(x)将字符串x转换为一个TIMESTAMP类型
(续表)

函 数说 明
TO_TIMESTAMP_TZ(x)将字符串x转换为一个TIMESTAMP WITH TIME ZONE类型
TO_YMINTERVAL(x)将字符串x转换为一个INTERVAL YEAR TO MONTH类型
TRANSLATE(x,
from_string,
to_string)
将x中所有的from_string转换为to_string
UNISTR(x)将x中的字符转换为国家语言字符集(NCHAR)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: