原文地址:http://www.cnblogs.com/lancelang/archive/2007/10/24/936420.html

spl> select * from emp
         where dates 
         between
         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss')
         and
         to_date('2007-06-12 10:00:00', 'yyyy-mm-dd hh24:mi:ss')

当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。

同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。

但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。

注意:

1.在使用Oracle的to_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
       2.另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份

Oracle中几个关于日期方面的SQL实例

SQL>   select   to_char(sysdate,'YYYYMMDD   W   HH24:MI:SS')   from   dual;   
    
  TO_CHAR(SYSDATE,'YY   
  -------------------   
  20030327   4   18:16:09   
    
  SQL>   select   to_char(sysdate,'W')   from   dual;   
    
  T   
  -   
  4

№2:取得当前日期是一个星期中的第几天,注意星期日是第一天

SQL>   select   sysdate,to_char(sysdate,'D')   from   dual;   
    
  SYSDATE       T   
  ---------   -   
  27-MAR-03   5

类似:

select   to_char(sysdate,'yyyy')   from   dual;   --年   
  select   to_char(sysdate,'Q'   from   dual;           --季   
  select   to_char(sysdate,'mm')   from   dual;       --月   
  select   to_char(sysdate,'dd')   from   dual;       --日   
  ddd   年中的第几天   
  WW   年中的第几个星期   
  W   该月中第几个星期   
  D   周中的星期几   
  hh   小时(12)   
  hh24   小时(24)   
  Mi   分   
  ss   秒

№3:取当前日期是星期几中文显示:

SQL>   select   to_char(sysdate,'day')   from   dual;   
    
  TO_CHAR(SYSDATE,'DAY')   
  ----------------------   
  星期四

№4:如果一个表在一个date类型的字段上面建立了索引,如何使用

alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

№5: 得到当前的日期
select sysdate from dual;

№6: 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual;

-- 得到这天的最后一秒
select trunc(sysdate) + 0.99999 from dual;

-- 得到小时的具体数值
select trunc(sysdate) + 1/24 from dual;

select trunc(sysdate) + 7/24 from dual;

№7:得到明天凌晨0点0分0秒的日期

select trunc(sysdate+1) from dual;

select trunc(sysdate)+1 from dual;

№8: 本月一日的日期
select trunc(sysdate,'mm') from dual;

№9:得到下月一日的日期
select trunc(add_months(sysdate,1),'mm') from dual;

№10:返回当前月的最后一天?
select last_day(sysdate)  from dual;        
select last_day(trunc(sysdate))  from dual;  
select trunc(last_day(sysdate))  from dual;
select trunc(add_months(sysdate,1),'mm') - 1 from dual;

№11: 得到一年的每一天
select trunc(sysdate,'yyyy')+ rn -1 date0 
from 
(select rownum rn from all_objects 
where rownum<366);

№12:今天是今年的第N天
SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;

№13:如何在给现有的日期加上2年
select add_months(sysdate,24) from dual;

№14:判断某一日子所在年分是否为润年 
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;

№15:判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;

№16:得到日期的季度

select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;

select to_char(sysdate, 'Q') from dual;

To_Date函数用法相关推荐

  1. Oracle中 to_date()函数用法详解

    TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy ...

  2. To_Date函数用法(转)

    原文地址:http://www.cnblogs.com/lancelang/archive/2007/10/24/936420.html spl> select * from emp       ...

  3. oracle 天转换成月函数_oracle中to_date详细用法示例(oracle日期格式转换)

    TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm ...

  4. Oracle to_date()函数的用法

    在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法 to_date()与24小时制表示法及mm分钟的显示: ...

  5. oracle之to_date函数

    日期格式参数 含义说明  D 一周中的星期几  DAY 天的名字,使用空格填充到9个字符  DD 月中的第几天    DDD 年中的第几天  DY 天的简写名  IW ISO标准的年中的第几周  IY ...

  6. php中strtotime的意思,php中strtotime函数用法详解

    本文实例讲述了php中strtotime函数用法.分享给大家供大家参考.具体如下: strtotime(字符串$时间[,诠释$现在])int strtotime(string $time [,int ...

  7. oracle中to_date函数详解

    to_date()与24小时制表示法及mm分钟的显示: 一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用"yyyy-MM-dd HH:mm:ss& ...

  8. DATE_FORMAT、when case函数用法

    一.在oracle中,当想把字符串为'2011-09-20 08:30:45'的格式转化为日期格式,我们可以使用oracle提供的to_date函数. sql语句为: SELECT to_date(' ...

  9. oracle数据库 日期函数用法

    oracle数据库 日期函数用法 –Oracle trunc()函数的用法 /日期******/ 1.select trunc(sysdate) from dual --2013-01-06 今天的日 ...

  10. Oracle——获取当前系统时间以及插入日期型数据(to_date的用法)

    获取当前系统时间 日期时间数据类型存储日期和时间值,包括年.月.日,小时.分钟.秒 主要的日期时间类型有: 1.DATE - 存储日期和时间部分,精确到整个的秒 语法 Select sysdate f ...

最新文章

  1. java中的排序算法——归并排序
  2. 用XLRD批处理Excel
  3. 漫说单例模式--宝宝成长记 你真的了解了吗?
  4. java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类
  5. 旋转炫酷相册-快制作你喜欢源码
  6. fatal error C1083: Cannot open source file
  7. javax.mail.MessagingException: 501 Syntax: HELO hostname Linux端异常解决
  8. zeppelin k8s安装部署和基本使用教程(在线的分析工具)
  9. 爬取mzi.com妹子图片网站(requests库)
  10. cwRsync实现windows server文件定时自动同步
  11. ✖ subject may not be empty [subject-empty]
  12. PCL中采样一致性算法
  13. Mac修改shell版本(类型)
  14. 经纬恒润天津研发总部项目开工奠基仪式圆满落幕
  15. 手机日常使用技巧、和手机停机如何免费上网
  16. 使用 ALT 键输入特殊符号
  17. BTTCOJ 问题 G: 逃离地牢 树形动规
  18. 机械cad 讲c语言编程,机械CAD讲解.doc
  19. 【TigerGraph】图数据库实战入门 —— 数据导入
  20. C语言小项目——计时器(倒计时+报警提示)

热门文章

  1. anaconda如何配置环境变量
  2. Flink Watermark 机制浅析(透彻)
  3. 随机森林(Random Forest)
  4. 利用端端Clouduolc的双向同步和单向同步,打造多机热备份的文件下载服务器
  5. Oracle数据泵导入导出dmp数据文件详细教程
  6. 【修真院java小课堂】HashMap浅析
  7. 如何创建Vue脚手架以及关闭语法检查
  8. 树莓派如何接硬盘_树莓派添加USB外接硬盘
  9. 裸眼3d项目,数字平原是这样制作的
  10. 什么样的域名能卖出去并卖个好价格