Oracle sysdate常用

SELECT * FROM (SELECT * FROM calenderDetail A ORDER
BY a. calender desc ) WHERE rownum <3 ;//计算时间大于当前时间的最近2条记录

取当前小时,以及相隔一小时
v_begin_date:=to_date(to_char(sysdate,‘yyyy-mm-dd
hh24‘),‘yyyy-mm-dd hh24‘);
v_end_date:=v_begin_date- 1/24;--

执行结果:v_begin_date=2013-9-12 上午 09:00:00 v_end_date=2013-9-12 上午
08:00:00
--
取当前日期,以及相隔一天v_begin_date:=to_date(to_char(sysdate,‘yyyy-mm-dd‘),‘yyyy-mm-dd‘);v_end_date:=v_begin_date-1;
--
执行结果:v_begin_date=2013-9-12 v_end_date=2013-9-11--

取当前月份,以及相隔一月(取月的第一天)
v_begin_date:=to_date(to_char(sysdate,‘yyyy-mm‘),‘yyyy-mm‘);
v_end_date:=v_begin_date
- interval ‘1‘ MONTH;
-- 执行结果:v_begin_date=2013-9-1
v_end_date=2013-8-1 

select numtodsinterval(t.qzbfqz-sysdate,‘day‘)from VEHICLE_VIEW_CXTJXT t

select ceil(t.qzbfqz - sysdate)from VEHICLE_VIEW_CXTJXT t

from SMSTasks p where 1=1 and p.category like ? and sysdate-p.sendTime
BETWEEN 0 AND 1

加法

  select sysdate,add_months(sysdate,12) from
dual;        --加1年

  select sysdate,add_months(sysdate,1) from
dual;        --加1月

  select sysdate,to_char(sysdate+7,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;   --加1星期

  select sysdate,to_char(sysdate+1,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;   --加1天

  select sysdate,to_char(sysdate+1/24,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --加1小时

  select sysdate,to_char(sysdate+1/24/60,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --加1分钟

  select sysdate,to_char(sysdate+1/24/60/60,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --加1秒

  减法

  select sysdate,add_months(sysdate,-12) from
dual;        --减1年

  select sysdate,add_months(sysdate,-1) from
dual;        --减1月

  select sysdate,to_char(sysdate-7,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;   --减1星期

  select sysdate,to_char(sysdate-1,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;   --减1天

  select sysdate,to_char(sysdate-1/24,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --减1小时

  select sysdate,to_char(sysdate-1/24/60,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --减1分钟

  select sysdate,to_char(sysdate-1/24/60/60,‘yyyy-mm-dd HH24:MI:SS‘) from
dual;  --减1秒

  Oracle关于时间/日期的操作

  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

  参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)

  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;

  6.计算程序运行的时间(ms)

  declare

  type rc is ref cursor;

  l_rc rc;

  l_dummy all_objects.object_name%type;

  l_start number default dbms_utility.get_time;

  begin

  for I in 1 .. 1000

  loop

  open l_rc for

  ‘select object_name from all_objects ‘||

  ‘where object_id = ‘ || i;

  fetch l_rc into l_dummy;

时间: 2024-10-06 03:35:00

Oracle sysdate常用的相关文章

oracle下常用的系统表和系统视图

此处,在此列出一些Oracle下常用的视图,用于查询Oracle下的一些配置属性,要注意的是在select的时候要在DBA的用户下,不然是没有权限调阅这些表和视图. ----------DBA_ Dba_Tab_Comments   表注释      Dba_Col_Comments 列注释 DBA_2PC_NEIGHBORS                包含待处理事务进入连接和退出连接信息. DBA_2PC_PENDING                 包含等待恢复的分布式事务的信息. D

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

【Oracle】常用语句集合

1 oracle常用经典SQL查询 2 常用SQL查询: 3 4 1.查看表空间的名称及大小 5 6 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 7 from dba_tablespaces t, dba_data_files d 8 where t.tablespace_name = d.tablespace_name 9 group by t.tablespace_name; 10 11 2.查看表空间物

Oracle中常用的to_Char用法详解

Oracle中常用的to_Char用法详解(有FMT的详细列表) The following are number examples for the to_char function. to_char(1210.73, '9999.9') would return '1210.7' to_char(1210.73, '9,999.99') would return '1,210.73' to_char(1210.73, '$9,999.00') would return '$1,210.73'

Oracle sqlplus 常用设置

Oracle sqlplus 常用设置 §2.5 SQLPLUS常用设置 使用过程中大都需要进行必要的环境设置才能完成我们所需要的输出. 所有环境的设置由SET命令加相应的环境变量来完成.下面是常用的环境设置: §2.5.1   ARRAYSIZE(取回的行数)SET ARRAY[SIZE]{integer} 一次可以提取(Fetch)的行的数目,1->5000,当有较长字段时应设小些. §2.5.2   AUTOCOMMIT(自动提交)SET AUTO [COMMIT] { [ OFF | O

Oracle基本常用命令

一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动

Oracle维护常用SQL语句

数据库人员手边系列:Oracle维护常用SQL语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2.查看表空间物理文件的名称及大小 select tables

Oracle Database常用补丁集Patch号及各版本PSU

Oracle Database常用补丁集Patch号及各版本PSU------------------------------------------------------------------------ Patchset/PSU Patch Number Description11.2.0.4.0 13390677 11.2.0.4.0 PATCH SET FOR ORACLE DATABASE SERVER 11.2.0.3.8 16902043 DATABASE PATCH SET

ORACLE数据库常用查询二

ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL> SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME MB AUTOEXTENSIBLE ------------------------------ ---------------------------------------------------