日期:2014-05-16  浏览次数:20401 次

公司内部oracle培训小结1

1.格式:abs(number)?? 即?? abs(数值)
返回数值的绝对值。
例:?? abs(5)?? 返回? 5
?????? abs(-5)?? 返回? 5
?
2.格式:ceil(number)?? 即?? ceil(数值)
根据输入值返回一个数值,输入参数可以是非整数,但返回结果则是大于等于输入参数的最小整数。
例:?? ceil(5.1)?? 返回? 6
?????? abs(-5.2)?? 返回? -5

3.floor(n)取小于等于数值n的最大整数
select floor(9.5) from dual;
FLOOR(9.5)
----------
???????? 9

4.MOD(n1,n2)
返回一个n1除以n2的余数
SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;
MOD(10,3)? MOD(3,3)? MOD(2,3)
--------- --------- ---------
??????? 1???????? 0???????? 2
5.ROUNDTRUNC
按照指定的精度进行舍入
SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;
ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)
----------- ------------ ----------- ------------
???????? 56????????? -55????????? 55????????? -55
select round(123.456, 0) from dual;????????? 回传 123
select round(123.456, 1) from dual;????????? 回传 123.5
select round(123.456, 2) from dual;????????? 回传 123.46
trunc(n,f)
select trunc(122.345,-2) from dual
100
select trunc(2.345,-1) from dual
0
select trunc(sysdate) from dual? --2011-3-18? 今天的日期为2011-3-18
select trunc(sysdate, 'mm')?? from?? dual? --2011-3-1??? 返回当月第一天.
select trunc(sysdate,'yy') from dual? --2011-1-1?????? 返回当年第一天
select trunc(sysdate,'dd') from dual? --2011-3-18??? 返回当前年月日
select trunc(sysdate,'yyyy') from dual? --2011-1-1?? 返回当年第一天
select trunc(sysdate,'d') from dual? --2011-3-13 (星期天)返回当前星期的第一天
select trunc(sysdate, 'hh') from dual?? --2011-3-18 14:00:00?? 当前时间为14:41??
select trunc(sysdate, 'mi') from dual? --2011-3-18 14:41:00??
TRUNC()函数没有秒的精确

6.CONCAT
连接两个字符串;
SQL> select concat('010-','88888888')||'转23'? 高乾竞电话 from dual;