易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 日期/时间的相关操作

  本文介绍了在Oracle数据库中,对日期、时间的各种操作,包括:日期时间间隔操作、日期到字符操作、字符到日期操作、trunk / ROUND函数的使用、毫秒级的数据类型等。
1.日期时间间隔操作
  当前时间减去7分钟的时间
  select sysdate,sysdate - interval '7' MINUTE from dual
  当前时间减去7小时的时间
  select sysdate - interval '7' hour from dual
  当前时间减去7天的时间
  select sysdate - interval '7' day from dual
  当前时间减去7月的时间
  select sysdate,sysdate - interval '7' month from dual
  当前时间减去7年的时间
  select sysdate,sysdate - interval '7' year from dual
  时间间隔乘以一个数字
  select sysdate,sysdate - 8 *interval '2' hour from dual
2.日期到字符操作
  select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
  select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
  select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual
  select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual
3. 字符到日期操作
  select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual
  具体用法和上面的to_char差不多。
4. trunk / ROUND函数的使用
  select trunc(sysdate ,'YEAR') from dual
  select trunc(sysdate ) from dual
  select to_char(trunc(sysdate ,'YYYY'),'YYYY') from dual
5.oracle有毫秒级的数据类型
  返回当前时间 年月日小时分秒毫秒
  select to_char(current_timestamp(5),'DD-MON-YYYY HH24:MI:SSxFF') from dual;
  返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)
  select to_char(current_timestamp(9),'MI:SSxFF') from dual;


相关文档:

Oracle中为什么where rownum > 3 查找不到数据?

查询表emp中所有数据
select emp_id,rownum from emp
第一步,查询结果,rownum待定
emp_id rownum
1         ?   1
2         ?   2
3         ?   3
4&n ......

Oracle备份脚本


目标:我想实现这样的功能,只要会简单的linux命令就能实现oracle exp的自动备份
 
环境:linux as3+oracle9i
具体的步骤:
 
1.邮件设置
[root@sxapp1 mail]# cd /etc/mail
[root@sxapp1 mail]# mv submit.cf submit.cfbak
[root@sxapp1 spool]# chmod a+wrx mqueue/
[root@sxapp1 mail]# echo "sdsd ......

ORACLE从表中随机返回n条记录

使用ORDER BY子句,ROWNUM内置函数和DBMS_RANDOM包中的内置函数VALUE来实现
SQL> select * from
2 (
3 select ename,job
4 from emp
5 order by dbms_random.value()
6 )
7 where rownum<=5;
ENAME JOB
---------- ---------
TURNER SALESMAN
SMITH CLERK
MARTIN SA ......

ORACLE处理排序空值

主要方法是通过使用CASE表达式来“标记”一个值是否为NULL。这里标记有两个值,一个表示NULL,一个表示非NULL。这样,只要在ORDER BY子句中增加标记列,便可以很容易的控制空值是排在前面还是排在后面,而不会被空值所干扰。
SQL> select ename,sal,comm from emp;
ENAME SAL COMM
----- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号