设为首页 加入收藏

TOP

Oracle常用系统函数(二)
2015-07-24 11:23:19 来源: 作者: 【 】 浏览:9
Tags:Oracle 常用 系统 函数
加国际货币符号

G:在指定位置显示组分隔符

D:在指定位置显示小数点符号

16. to_number(string)

功能:将给出的字符串转换为数字。

例如:

Selectto_number('1999') year from dual;

17. decode函数

功能:相当于一条if语句

举例:

create tablestudent(sno char(2), sex char(1),birthday date)-- 创建学生表

insert intostudent values('01','M','18-8月-1992'); --添加记录

insert intostudent values('02','T', '9-5月-1993'); --添加记录

insert intostudent values('03','F' ,'18-1月-1994'); --添加记录

insert intostudent values('04',null,'11-8月-1993'); --添加记录

select *from student; -- 查询学生表

/*查询学生的学号和性别信息,如果性别值为M则显示male,性别值为F则显示female,如果为空值则显示unknow,否则则显示invalid*/

selectsno,sex,decode(sex, 'M','male','F','female',null,'unknow','invalid')fromstudent;

举例:查询student表,统计1992、1993、1994各年出生的学生人数。

selectto_char(trunc(birthday,'year'),'yyyy'),count(*)

from student

whereto_char(trunc(birthday,'year'),'yyyy') in ('1994','1993','1992')

group byto_char(trunc(birthday,'year'),'yyyy')

在SQL疑难问题中,decode函数常常发挥非常灵活的作用。其中一个就是为了某种目的将一个表的行转换成列。例如:

selectsum(decode(to_char(trunc(birthday,'year'),'yyyy'),'1994',1,0) ) birth_1994,

sum(decode(to_char(trunc(birthday,'year'),'yyyy'),'1993',1,0)) birth_1993,

sum(decode(to_char(trunc(birthday,'year'),'yyyy'),'1992',1,0)) birth_1992

from student

whereto_char(trunc(birthday,'year'),'yyyy') in ('1994','1993','1992')

18. greatest函数

功能:返回一组表达式中的最大值,即比较字符的编码大小。

举例:

selectgreatest('AD','AC','AA') from dual;

19. least函数

功能:返回一组表达式中的最小值,即比较字符的编码大小。

举例:

selectleast('AD','AC','AA') from dual;

20. uid 函数

功能:返回标识当前用户的唯一整数

举例:

show user

select uidfrom dual;

selectusername,user_id from dba_users where user_id=uid;

2 数字函数

1. ABS

功能:取绝对值

Selectabs(100),abs(-100) from dual;

2. ACOS

功能:给出反余弦的值

Selectacos(-1) from dual;

3. ASIN

功能:给出反正弦的值

Selectasin(0.5) from dual;

4. ATAN

功能:返回一个数字的反正切值

Selectatan(1) from dual

5. CEIL

功能:返回大于或等于给出数字的最小整数

Selectceil(3.1415926) from dual;

6. COS

功能:返回一个给定数字的余弦

Selectcos(-3.14) from dual;

7. EXP

功能:返回一个数字e的n次方

Selectexp(2),exp(1) from dual;

8. FLOOR

功能:对给定的数字取整数(舍掉小数位)

Selectfloor(234.56) from dual;

9. LN

功能:返回一个数字的对数值

Selectln(1), ln(2) from dual;

10. Log(n1,n2)

功能:返回以n1为底的n2的对数

Selectlog(2,1), log(2,4) from dual;

11. MOD(n1,n2)

功能:返回一个n1除以n2的余数

Selectmod(10,3) mod(2,3) from dual;

12. POWER(n1,n2)

功能:返回n1的n2次方

Selectpower(2,5) from dual;

13. ROUND

功能:按照指定的精度进行舍入(四舍五入)

14. TRUNC

功能:按照指定的精度进行舍入(用于截取,没有指定截取到第几位,默认取整数)。

举例:

Selectround(55.5),trunc(55.5),round(-55.5), trunc (-55.5)from dual;

Selecttrunc(12.345,2), trunk(12.234,-2) from dual;

Selectto_char(trunc(sysdate,’hh’),’yyyy.mm.dd hh24:mi:ss’) hh, to_char(trunc(sysdate,’mi’), ’yyyy.mm.dd hh24:mi:ss’) hhmm from dual;

selecttrunc(sysdate) from dual --2014-3-18今天的日期为2014-3-18
select trunc(sysdate, 'mm') from dual --2014-3-1返回当月第一天.
select trunc(sysdate,'yy') from dual--2014-1-1 返回当年第一天
select trunc(sysdate,'dd') from dual--2014-3-18 返回当前年月日
select trunc(sysdate,'yyyy') from dual--2014-1-1 返回当年第一天
select trunc(sysdate,'d') from dual--2014-3-16 (星期天)返回当前星期的第一天
select trunc(sysdate, 'hh') from dual --2014-3-1814:00:00 当前时间为14:41
select trunc(sysdate, 'mi') from dual --2014-3-1814:41:00 TRUNC()函数没有秒的精确

15. SIGN

功能:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0

Select sign(12),sign(-10),sign(0)from dual;

16. SQRT(n)

功能:返回数字n的平方根

Selectsqrt(64) ,sqrt(10)from dua

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一次rhel5.8的文件系统只读造成的.. 下一篇oracle12cgriddb安装的的checklist

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)
·金融界大佬力荐,Pyt (2025-12-25 04:49:42)
·你必须要弄懂的多线 (2025-12-25 04:22:35)
·如何在 Java 中实现 (2025-12-25 04:22:32)