oracle_sql 函数 (下载源码就到大众源码网:www.hicode.cn) |
oracle_sql 函数 |
|
说明:在括号中注明(数值)的为数值型函数;注明为(字符)的为字符函数;注明为日期的为日期型函数;注明为(转换)的为转换型函数;注明是(聚组)的为聚组型函数;不注明的为其他函数。 |
|
|
|
函数名: | 说明 |
abs(x)(数值) | 返回x的绝对值 |
add_months(x,y)(日期) | 返回值为日期x加上y个月 |
ascii(x)(字符) | 返回字符x的十进字表示 |
avg([distinct|all]x](聚组) | 返回x列的平均值 |
ceil(x)(字符) | 返回大于或等于x的最小整数 |
chartorowid(x)(转换) | 将字符串x转换成rowid类型 |
chr(x)(字符) | 返回对应于数x的字符集中的字符 |
concat(x,y)(字符) | 返回串x和串y接结果 |
convert(x,y[,z])(日期) | 用字符集y来转换字符串x,z为原来的字符集 |
cos(x)(数值) | 返回x的余弦 |
cosh(x)(数值) | 返回x的双曲余弦 |
count(*|distinct|all]x)(聚组) | 返回查询所得到的行数 |
dump(w,[x[,y[,z]]]x) | 返回一个字符串,含有w的数据类型码,字节为单位的长度以及内部表示形式 |
exp(x)(数值) | 返回e的x次幂 |
floor(x)(数值) | 返回小于或等于x的最大整数 |
glb([distinct|all]x)(聚组) | 返回标签x的最大下限 |
greatest(x[,y],[,..]) | 返回列表中的最大值 |
greatest_lb(x[,y],[,…]) | 返回标签列表中的最大值 |
hextoraw(x)(字符) | 将含有16进制数据的字符串转换成二进制数据 |
initcap(x)(字符) | 返回串x首字符大写,其余字符小写的结果 |
instr(w,x[,y[,z]])(字符) | 返回串x在串w中的出现位置 |
instrb(w,x[,y[,z]])(字符) | 同上,只在多字节字符时有用 |
last_day(x)(日期) | 返回x指定的那个月的最后一天 |
least(x[,y][,…]) | 返回列表中的最小值 |
least_ub(x[,y][,…]) | 返回标签列表中的最小值 |
length(x)(字符) | 返回串x的长度 |
lengthb(x)(字符) | 返回串x的字节长度 |
ln(x)(数值) | 返回x的自然对数 |
log(x,y)(数值) | 返回x为底的y的对数 |
lower(x)(字符) | 返回串x小写字母结果 |
lpad(x,y[,z])(字符) | 返回串x左边填充z至长度为y的结果 |
ltrim(x[,y])(字符) | 返回串x左边截去字符集为y后的结果 |
lub([distinct|all]x)(聚组) | 返回标签x的最小上限 |
max([distinct|all]x)(聚组) | 返回x列的最大列值 |
min([distinct|all]x)(聚组) | 返回x列的最小列值 |
mod(x,y)(数值) | 返回x除以y的余数 |
months_between(x,y)(日期) | 返回x和y之间的月数 |
new_time(x,y,z)(日期) | 返回时间区域y中的时间x在z区域的对应时间 |
next_day(x,y)(日期) | 返回日期x之后第一个名为y的那天的日期 |
nls_initcat(字符) | 基本同initcap,只是考虑到语言 |
nls_lover(x[,y])(字符) | 基本同lower,只是考虑到语言 |
nls_upper(字符) | 基本同upper,只是考虑到语言 |
nvl(x,y) | x为null返回y,否则返回x |
power(x,y)(数值) | 返回x的y次幂 |
rawtohex(x)(转换) | 将二进制数据转换成16进制数字的字符串 |
replace(x,y[,z])(字符) | 将x中出现y的地方顯示出來 |
round(x[,y])(数值) | 返回将x四舍五入成y位小数的值 |
round(x[,y])(字符) | 舍入到离日期x最近的那个由y指定的日期单位的第一天 |
rowidtochar(x)(转换) | 将rowid类型转换成字符型字符串 |
rpad(x,y[,z])(字符) | 返回串x右边填充z至长度为y的结果 |
rtrim(x,y[,z])(字符) | 返回串x右边截去字符集为y后的结果 |
sign(x)(数值) | x为正数、负数、0时分别为1、-1、0 |
sin(x)(数值) | 返回x的正弦值 |
sinh(x)(数值) | 返回x的正弦的16进制 |
soundex(x)(字符) | 返回x语言发音描述 |
sqrt(x)(数值) | 返回x的平方根 |
stddev([distinct|all]x)(聚组) | 返回数值列x的标准误差 |
substr(x,y[,z])(聚组) | 从x中的第y个位置开始取z个字符的子串 |
sum([distinct|all]x)(聚组) | 返回数值列x的合计 |
sysdate(日期) | 返回当前的日期和时间 |
tan(x)(数值) | 返回x的正切 |
tanh(x)(数值) | 返回x的正切的16进制 |
to_char(x[,y])(转换) | 将一个日期或数字转换成一个字符串 |
to_date(x[,y])(转换) | 将一个字符串转换成日期 |
to_label(x[,y])(转换) | 将一个字符串转换为MLSLABEL类型的值 |
to_multi_bye(x)(转换) | 将单字节字符串转换为多字节字符串 |
to_number(x,y[,z])(转换) | 将一个字符串转换成数值 |
to_single_byte(x)(转换) | 将多字节字符串转换为单字节字符串 |
translate(x,y[,z])(字符) | 将x中y字符集翻译成z集中相应位置的字符 |
trunc(x[,y])(数值) | 返回x截为y位小数的结果值 |
trunc(x[,y])(日期) | 将x舍到由y指定的日期单位的第一天,结果中带有时间部分 |
uid | 返回唯一标识当前用户的那个整数 |
upper(x)(字符) | 返回x的大写串 |
user | 返回当前用户的数据库用户名 |
userenv(x) | 返回关于当前数据库会话的环境信息 |
variance([distinct|all]x)(聚组) | 返回数值列的方差 |
1、last_day(sysdate) |
|
2、trunc(add_months(sysdate,1),'month')-1 | 返回當月最後一天 |
trunc(sysdate,'month') | 返回當月第一天 |
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- -
赵 A
3.CONCAT
连接两个字符串;
SQL> select concat('010-','88888888')||'转23' 高乾竞电话 from dual;
高乾竞电话
----------------
010-88888888转23
4.INITCAP
返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap('smith') upp from dual;
UPP
-----
Smith
5.INSTR(C1,C2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
SQL> select instr('oracle traning','ra',1,2) instring from dual;
INSTRING
---------
9
6.LENGTH
返回字符串的长度;
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;
NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ --------- --------------------
高乾竞 3 北京市海锭区 6 9999.99 7
7.LOWER
返回字符串,并将所有的字符小写
SQL> select lower('AaBbCcDd')AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd
8.UPPER
返回字符串,并将所有的字符大写
SQL> select upper('AaBbCcDd') upper from dual;
UPPER
--------
AABBCCDD
9.RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符
LPAD 在列的左边粘贴字符
SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;
LPAD(RPAD('GAO',1
-----------------
*******gao*******
不够字符则用*来填满
10.LTRIM和RTRIM
LTRIM 删除左边出现的字符串
RTRIM 删除右边出现的字符串
SQL> select ltrim(rtrim(' gao qian jing ',' '),' ') from dual;
LTRIM(RTRIM('
-------------
gao qian jing
11.SUBSTR(string,start,count)
取子字符串,从start开始,取count个
SQL> select substr('13088888888',3,8) from dual;
SUBSTR('
--------
08888888
12.REPLACE('string','s1','s2')
string 希望被替换的字符或变量
s1 被替换的字符串
s2 要替换的字符串
SQL> select replace('he love you','he','i') from dual;
REPLACE('H
----------
i love you
13.SOUNDEX
返回一个与给定的字符串读音相同的字符串
SQL> create table table1(xm varchar(8));
SQL> insert into table1 values('weather');
SQL> insert into table1 values('wether');
SQL> insert into table1 values('gao');
SQL> select xm from table1 where soundex(xm)=soundex('weather');
XM
--------
weather
wether
14.TRIM('s' from 'string')
LEADING 剪掉前面的字符
TRAILING 剪掉后面的字符
如果不指定,默认为空格符
15.ABS
返回指定值的绝对值
SQL> select abs(100),abs(-100) from dual;
ABS(100) ABS(-100)
--------- ---------
100 100
16.ACOS
给出反余弦的值
SQL> select acos(-1) from dual;
ACOS(-1)
---------
3.1415927
17.ASIN
给出反正弦的值
SQL> select asin(0.5) from dual;
ASIN(0.5)
---------
.52359878
18.ATAN
返回一个数字的反正切值
SQL> select atan(1) from dual;
ATAN(1)
---------
.78539816
19.CEIL
返回大于或等于给出数字的最小整数
SQL> select ceil(3.1415927) from dual;
CEIL(3.1415927)
---------------
4
20.COS
返回一个给定数字的余弦
SQL> select cos(-3.1415927) from dual;
COS(-3.1415927)
---------------
-1
21.COSH
返回一个数字反余弦值
SQL> select cosh(20) from dual;
COSH(20)
---------
242582598
22.EXP
返回一个数字e的n次方根
SQL> select exp(2),exp(1) from dual;
EXP(2) EXP(1)
(下载源码就到大众源码网:www.hicode.cn)