2024年3月10日发(作者:)
附录Ⅱ Oracle 11g SQL函数
附录Ⅱ
Oracle11g SQL函数
函数名
返回
类型
字符串函数
ASCII(s)
CHR(i)
CONCAT(s1,s2)
INITCAP(s)
INSTR(s1,s2[,i[,j]])
INSTRB(s1,s2[,i[,j]])
LENGTH(s)
LENGTHb(s)
lower(s)
LPAD(s1,i[,s2])
LTRIM(s1,s2)
RPAD(s1,i[,s2])
RTRIM(s1,s2)
REPLACE(s1,s2[,s3])
REVERSE(s)
SUBSTR(s,i[,j])
SUBSTRB(s,i[,j])
SOUNDEX(s)
TRANSLATE(s1,s2,s3)
TRIM(s)
UPPER(s)
数值
字符
字符
字符
数值
数值
数值
数值
字符
字符
字符
字符
字符
字符
字符
字符
字符
字符
字符
字符
返回s首位字母的ASCII码
返回数值i的ASCII字符
将s2连接到字符串s1的后面
将每个单词首位字母大写其它字母小写
返回s2在s1中第i位开始第j次出现的位置
与INSTR(s)函数相同,但按字节计算
返回s的长度。
与LENGTH(s)相同,但按字节计算。
返回s的小写字符
在s1的左侧用s2字符串补足到总长度i
循环去掉在s2中存在的s1左边字符
在s1的右侧用s2字符串补足到总长度i
循环去掉在s2中存在的s1右边字符
用s3替换出现在s1中的s2
返回s倒排的字符串
从s的第i位开始截得长度j的子字符串
与SUBSTR相同,但i,j按字节计算。
返回与s发音相似的词
将s1中与s2相同的字符以s3代替
删除s的首部和尾部空格
返回s的大写
正则表达式函数
REGEXP_LIKE()
REGEXP_INSTR()
REGEXP_SUBSTR()
REGEXP_REPLACE()
布尔
数值
字符
字符
功能与LIKE的功能相似
功能与INSTR的功能相似
功能与SUBSTR的功能相似
功能与REPLACE的功能相似
数字函数
ABS(i)
ACOS(i)
ASIN(i)
ATAN(i)
数值
数值
数值
数值
返回i的绝对值
反余玄函数,返回-1到1之间的数
反正玄函数,返回-1到1之间的数
反正切函数,返回i的反正切值
- 1 -
说明
Oracle 11g数据库与应用开发教程
CEIL(i)
COS(i)
COSH(i)
EXP(i)
FLOOR(i)
LN(i)
LOG(i,j)
MOD(i)
POWER(i,j)
ROUND(i,j)
SIGN(i)
SIN(i)
SINH(i)
SQRT(i)
TAN(i)
TANH(i)
TRUNC(I,j)
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
数值
返回大于或等于n的最小整数
返回n的余玄值
返回n的双曲余玄值
返回e的i次幂,e=2.71828183
返回小于等于i的最大整数
返回i的自然对数,i>0
返回以i为底j的对数
返回i除以j的余数
返回i的j次方
返回i四舍五入值,j是小数点位数
i>0返回1,i=0返回0,i<0返回-1
返回i的正玄值
返回i的双曲正玄值
返回i的平方根
返回i的正切值
返回i的双曲正切值
返回i的结尾值,j可正、零、负数
转换函数
CONVERT(s,ds,ss)
HEXTORAW(s)
RAWTOHEX(s)
ROWIDTOCHAR(s)
TO_CHAR(p,fmt)
TO_DATE(s,fmt)
TO_MULTI_BYTE(s)
TO_NUMBER(s)
TO_SINGLE_BYTE()
字符
字符
字符
字符
字符
日期
字符
数值
字符
将s,由ss字符集转换为ds字符集
将16进制的s转换为RAW数据类型。
将RAW类型s转换为16进制的数据类型。
将ROWID类型s转换为CHAR数据类型。
将p转换成fmt指定格式的char类型,若p为日期
将字符串s转换成date数据类型
将s的单字节字符转换成双字节字符
将返回s代表的数值。
将s中的多字节字符转化成单字节字符
日期函数
ADD_MONTHS(d,i)
LAST_DAY(d)
MONTHS_BETWEEN(d1,d2)
NEW_TIME(d,tz1,tz2)
NEXT_DAY(d,w)
ROUND(d,fmt)
TRUNC(d,fmt)
SYADATE
日期
日期
数值
日期
日期
日期
日期
日期
返回日期d加上i个月后的结果
返回日期d月份的最后一天
返回d1和d2之间月的数目
将日期d由时区tz1转换到时区tz2
NEW_TIME(sysdate,'GMT','CST')
返回d后w给出的第一星期w,w=1--7(周日--周六)
fmt=YYYY|MM|DD|D,返回舍入d后fmt格式的第一天
fmt=YYYY|MM|DD|D,返回截去d后fmt格式的第一天
无参数,返回当前日期和时间。
其它函数
- 2 -
NVL(s1|p1,s2|p2)
BFILENAME(dir,file)
DECODE(p,p1,p2,...)
DUMP(s,fmt,I,j)
EMPTY_BLOB()
EMPTY_CLOB()
GREATEST(p,p1,p2,...)
LEAST(p,p1,p2,...)
UID
USER
USERENV(OPTION)
SYS_CONTEXT(s1,s2)
VSIZE(s)
不定
指针
不定
字符
指针
指针
不定
不定
数值
字符
字符
字符
数值
附录Ⅱ Oracle 11g SQL函数
如果s1或p1是空值,返回s2或p2
初始化BFILE变量或BFILE列,返回空BFILE位置指针
if p=p1 then p2;elsif p=p3 then p4…else pn
返回s的类型编号,s从i截取j个字符fmt进制的ASCII
DUMP('A1cbd',1010,1,2)
初始化BLOB变量或BLOB列,返回空的BLOB位置指针
初始化CLOB变量或CLOB列,返回空的CLOB位置指针
返回其中最大的表达式
返回其中最小的表达式
返回唯一标示当前数据库用户的编号。
返回当前用户的用户名
返回当前会话信息,OPTION取值参见最后一页。
返回当前会话信息,s1='USERENV',s2=OPTION。
返回s的字节数
组函数
AVG(col)
COUNT(col|*)
MAX(col)
MIN(col)
STDDEV(col)
SUM(col)
VARIANCE(col)
WM_CONCAT(col)
数值
数值
不定
不定
数值
数值
数值
字符
返回数值列col的平均值
返回列col的行数目,*表示返回所有的行
返回数值列col的最大值
返回数值列col的最小值
返回数值列col的标准差,标准差是方差的平方根
返回数值列col的总和
返回数值列col的统计方差
返回列col值的合并行,用逗号分隔。
OVER分组排序函数
OVER([分组]排序)
RANK()OVER()
DENSE_RANK()OVER()
ROW_NUMBER()OVER()
SUM(列)OVER()
LAG(exp,n,defval)
LEAD(exp,n,defval)
按字段分组、排序,与
下面函数联合使用
数值
数值
数值
数值
不定
不定
OVER(PARTITION BY列
ORDER BY 列) 或 OVER(ORDER BY 列)
增加序号伪列:1、2、2、4、…
增加序号伪列:1、2、2、3、…
增加序号伪列:1、2、3、4、…
求和、分组求和、求累计
读取某列的上第n行
读取某列的下第n行
LAG、LEAD:
exp列名、第n行、
无返回值时取代值
s、s1、s2、s3为串、串表达式,p、p1、p2数值、数值表达式,
i、j为整数,fmt为数据格式,d、d1、d2为日期
SYS_CONTEXT('USERENV',Option) 返回当前会话信息
SYS_CONTEXT('USERENV','TERMINAL') terminal
SYS_CONTEXT('USERENV','LANGUAGE') language
SYS_CONTEXT('USERENV','SESSIONID') sessionid
- 3 -
Oracle 11g数据库与应用开发教程
SYS_CONTEXT('USERENV','INSTANCE') instance
SYS_CONTEXT('USERENV','ENTRYID') entryid
SYS_CONTEXT('USERENV','ISDBA') isdba
SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory
SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency
SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar
SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format
SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language
SYS_CONTEXT('USERENV','NLS_SORT') nls_sort
SYS_CONTEXT('USERENV','CURRENT_USER') current_user
SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid
SYS_CONTEXT('USERENV','SESSION_USER') session_user
SYS_CONTEXT('USERENV','SESSION_USERID') session_userid
SYS_CONTEXT('USERENV','PROXY_USER') proxy_user
SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid
SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain
SYS_CONTEXT('USERENV','DB_NAME') db_name
SYS_CONTEXT('USERENV','HOST') host
SYS_CONTEXT('USERENV','OS_USER') os_user
SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name
SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address
SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol
SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id
SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id
SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type
SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_data
USERENV(OPTION)返回当前的会话信息
OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE。
OPTION='LANGUAGE'返回数据库的字符集。
OPTION='SESSIONID'为当前会话标识符。
OPTION='ENTRYID'返回可审计的会话标识符。
OPTION='LANG'返回会话语言名称的ISO简记。
OPTION='INSTANCE'返回当前的实例。
OPTION='terminal'返回当前计算机名。
- 4 -


发布评论