日期:2014-05-16 浏览次数:20448 次
一、数值型函数
函 数 | 功 能 | 实 例 | 结 果 |
abs | 求绝对值函数 | abs(?5) | 5 |
sqrt | 求平方根函数 | sqrt(2) | 1.41421356 |
power | 求幂函数 | power(2,3) | 8 |
cos | 求余弦三角函数(用弧度) | cos(3.14159) | ?1 |
mod | 求除法余数 | mod(1600, 300) | 100 |
ceil | 求大于等于某数的最小整数 | ceil(2.35) | 3 |
floor | 求小于等于某数的最大整数 | floor(2.35) | 2 |
round | 按指定精度对十进制数四舍五入 | round(45.923, 1) round(45.923, 0) round(45.923, ?1) |
45.9 46 50 |
trunc | 按指定精度截断十进制数 | trunc(45.923, 1) trunc(45.923) trunc(45.923, ?1) |
45.9 45 40 |
二、oracle中的dual表
2.1 理解
1、DUAL是 SYS用户的一个TABLE.
2、Dual是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。
3、DUAL就是个一行一列的表,该表和系统中的其他表一样,一样可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,数据库起不了,会报Database startup crashes with ORA-1092错误。
2.2 DUAL 能做什么
1、查找当天日期
SQL> select sysdate from dual;
2、查找当前日期的当月第一天
SQL> select trunc(sysdate,’MONTH’) from dual;
3、查找当前日期的当月最后一天
SQL> select trunc(last_day(sysdate)) from dual;
4、查看当前用户,可以在SQL Plus中执行下面语句
SQL> select user from dual;
5、获得当前系统时间
SQL> select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;
6、获得主机名
SQL>select SYS_CONTEXT(‘USERENV’,'TERMINAL’) from dual;
7、获得当前locale
SQL>select SYS_CONTEXT(‘USERENV’,'language’) from dual;
8、获得一个随机数
SQL>select dbms_random.random from dual;
9、查看当前日期、时间
SQL> select sysdate from dual;
10、获得序列your_sequence的下一个值
SQL>select your_sequence.nextval from dual;
11、获得序列your_sequence的当前值