原文地址: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. oracle 天转换成月函数_oracle中to_date详细用法示例(oracle日期格式转换)

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

  3. Oracle to_date()函数的用法

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

  4. oracle之to_date函数

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

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

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

  6. oracle中to_date函数详解

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

  7. DATE_FORMAT、when case函数用法

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

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

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

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

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

最新文章

  1. 编者序:初衷、计划、要求、优势、目标和展望
  2. Java 获取操作系统名字、系统版本、cpu信息
  3. Java 设计模式之工厂模式
  4. 开发日记-20190715 关键词 读书笔记 《Perl语言入门》Day 9
  5. 通过 IDE/Maven 部署 Serverless 应用实践
  6. javafx2_JavaFX 2 GameTutorial第4部分
  7. eclipse手动添加SVN插件
  8. Java核心类库篇2——lang
  9. [软件工程学习笔记]个人java小程序---词频统计(二)
  10. 谁决定了 IT 直男的价值
  11. 长春java开发能开多少钱,从理论到实践!
  12. 什么是 ODBC – 开放式数据库连接
  13. JMeter proxy server
  14. java 无理数_《数学分析原理》笔记之——无理数的引入
  15. 解析Google地图的Search接口返回的f.txt文件数据(其他类似)
  16. git commit 提交信息写错,怎么更改?
  17. Intel Edison 装Debian系统
  18. 远程桌面 服务器握手,《易语言远程控制技术教程》第2课_远程桌面(你的桌面我作主)王军...
  19. 作为一个新手程序员该如何成长
  20. HIOKI日置RM3545电阻计/电阻表

热门文章

  1. Codeforces H. Ancient Wisdom
  2. Android SDK原生下载
  3. 冒泡排序和选择排序的不同
  4. CSS 展开收起 样式
  5. 数学建模学习(43):多项式拟合详细讲解
  6. 细节决定ERP项目启动会的成败
  7. 用方框图来表示指令周期
  8. C语言 数值交换的三种方法
  9. 校园网和路由器必须了解的问题
  10. teamviewer访问校园网