oracle 时间操作

转载 2013年12月03日 12:57:39
oracle中对时间的操作以及to_char和to_date用法总结
 
Oracle时间处理有时候to_char和to_date两个比较关键的函数,在此总结一下:
 
一获取系统当前时间
select sysdate from dual;
 
二 to_char的用法
select to_char(sysdate,'yyyy.mm.dd') from dual
select to_char(sysdate,'yyyy-mm-dd') from dual
select to_char(sysdate,'yyyy mm dd') from dual
select to_char(sysdate,'yyyy*mm*dd') from dual
select to_char(sysdate,'yyyymmdd') from dual
只要被转换的是一个日期,yyyy,mm,dd中间加不加连接符,加什么连接符都可以。我们可以把空格理解为一个空的连接符。
看一个连接符星号的截图:
 
 
三 to_date的用法
to_date的要求就稍微多了一点。
   www.2cto.com  
①带连接符
select to_date('2012.07.26','yyyy-mm-dd') from dual
select to_date('2012.07.26','yyyy.mm.dd') from dual
select to_date('2012.07.26','yyyy mm dd') from dual
select to_date('2012-07-26','yyyy-mm-dd') from dual
select to_date('2012-07-26','yyyy.mm.dd') from dual
select to_date('2012-07-26','yyyy mm dd') from dual
select to_date('2012.7.1','yyyy-mm-dd') from dual
select to_date('2012.7.1','yyyy.mm.dd') from dual
select to_date('2012.7.1','yyyy mm dd') from dual
 
所谓带连接符,就是我们to_date的第一个参数的yyyy,mm,dd之间有没有连接符。如果有,那么第二个参数必须有连接符,随便是什么连接符。而且mm,dd不一定要对应位数。07可以对应mm,7同样可以对应mm。我们可以把空格理解为一个空的连接符。
 
②不带连接符
select to_date('20120726','yyyymmdd') from dual
select to_date('20120726','yyyy.mm.dd') from dual
select to_date('20120726','yyyy-mm-dd') from dual
不带连接符的必须一一位数对应,第二个字符串带不带连接符均可。07可以匹配mm,但7就不可以匹配mm
 
③①②中情况查出的结果都是带'-'的,无论有无连接符,连接符是什么。看截图:
 
 
四 带上时间的转换
select to_char(sysdate,'yyyy.mm.dd hh24 mi ss') from dual
截图:  www.2cto.com  


 
select to_date('2012.7.1 21:09:09','yyyy-mm-dd hh24 mi ss') from dual
截图:

 
除了时间的显示有些区别,其余的和上述所说原则一致。
 
五 项目中的应用
我们以前在java代码中对时间进行操作,其实我们完全可以交给sql语句进行操作
update student set birth = to_date(#birth#,"yyyy-mm-dd");
传来一个日期参数即可,就看你是带连接符的还是不带链接符的了。

oracle时间操作

1.日期时间间隔操作   当前时间减去7分钟的时间   select sysdate,sysdate - interval ’7’ MINUTE from dual   当前时间减去7小时的时间   ...
  • hdy007
  • hdy007
  • 2007年01月09日 14:24
  • 1158

时间操作ORACLE

1 通过具体日期得到对应的星期   Calendalr calendar = Calendar.getInstance();   calendar.setTime(需要被计算的日期);   in...
  • jackother
  • jackother
  • 2013年12月06日 14:40
  • 271

ORACLE 时间操作

功能: 时间维度在数据仓库中应用非常广泛.面对用户关于不同时间维度的分析。需要对时间处理很了解。   用法:1. 当前时间                select sysdate from ...
  • jgsh_dx305
  • jgsh_dx305
  • 2012年02月17日 17:34
  • 301

Oracle时间操作

sysdate + 1/24/60/60    在系统时间基础上延迟1秒 sysdate + 1/24/60    在系统时间基础上延迟1分钟 sysdate + 1/24    在系统时间基...
  • jallin2001
  • jallin2001
  • 2010年07月02日 10:43
  • 411

oracle时间操作。

DAY_KEY             NUMBER(10) NOT NULL ,         to_number(to_char(sysdate,'YYYYMMDD'))         ...
  • qq416647781
  • qq416647781
  • 2014年11月05日 17:27
  • 300

Oracle 时间操作

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdat...
  • FlyAurora
  • FlyAurora
  • 2014年03月07日 08:38
  • 445

Oracle中常见的日期时间操作

1. 返回当前日期 sysdate 【功能】:返回当前日期。 【参数】:没有参数,没有括号 【返回】:日期 【示例】select sysdate hz from dual; 返回:2008-...
  • YcUrial
  • YcUrial
  • 2017年05月23日 18:16
  • 604

mongodb 时间操作

时间存放到mongo需要转换 $v3 = '2014' new \MongoDate(strtotime($v3)
  • terry_water
  • terry_water
  • 2014年10月10日 12:31
  • 1074

C/C++中的时间操作

1. 词汇解释 Coordinated Universal Time(UCT) 协调世界时,又称为世界标准时间,亦即格林威治标准时间(Greenwich Mean Time,GMT)。中国内地...
  • yasaken
  • yasaken
  • 2012年03月26日 17:20
  • 4962

Oracle时间操作大全

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdate+5...
  • make1828
  • make1828
  • 2011年04月12日 12:43
  • 689
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 时间操作
举报原因:
原因补充:

(最多只允许输入30个字)