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时间操作

  • 2012年12月29日 13:56
  • 12KB
  • 下载

Oracle时间日期操作

  • 2013年05月08日 09:17
  • 20KB
  • 下载

Oracle中常见的日期时间操作

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

Oracle时间日期操作

  • 2012年12月28日 16:57
  • 74KB
  • 下载

oracle 时间操作

select to_char(sysdate - (1 / 24 / 60 * 10), ‘yyyy-MM-dd HH24:mi’) from dual; – 减10分钟加法 select sy...
  • maobois
  • maobois
  • 2016年11月30日 22:28
  • 167

Oracle 时间操作

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdat...

Oracle日期时间(Date/Time)操作

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒  sysdate+5/24/60 在系统时间基础上延迟5分钟  sysdate+5/24 在系统时间基础上延迟5小时  sys...

Oracle中对时间操作的一些总结

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdat...

oracle时间操作。

DAY_KEY             NUMBER(10) NOT NULL ,         to_number(to_char(sysdate,'YYYYMMDD'))         ...

Oracle关于时间/日期的操作2

当前时间减去7分钟的时间   select sysdate,sysdate - interval '7' MINUTE from dual   当前时间减去7小时的时间   select sysdat...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 时间操作
举报原因:
原因补充:

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