`
nicegege
  • 浏览: 590807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle数据库日期总结

 
阅读更多

    oracle数据库对日期类型数据的操作很详细,日期类型数据表示形式涉及到系统时间时区,时间格式等。而且经常用到to_date('String','format'),to_char(Date,'format')等oracle系统函数。所以日期类型数据的操作有点复杂,操作oracle日期类型数据时注意的东西比较多。

1.sysdate表示当前日期,oracle数据库表示当前日期的对象。经常用到获取当前日期:select sysdate from dual;

2.to_date('String','format')函数表示把字符串转换为format格式的日期对象,这个函数功能很强大。String字符串可中有分隔符,分隔符可以是空格,/,\等除数字和字母以外的符号。但是日期和时间各自的分割符号要一样,两者的可以不一样。format格式可以有很多种,但是要包含Strring字符串的格式,否则to_date无法转换字符串为日期格式,因为缺少格式。

to_date格式(以时间:2007-11-02   13:45:25为例)

  Year:

  yy two digits 两位年                显示值:07

  yyy three digits 三位年                显示值:007

  yyyy four digits 四位年                显示值:2007

  Month:

  mm    number     两位月              显示值:11

  mon    abbreviated[小型的;简短的] 字符集表示          显示值:11月,若是英文版,显示nov

  month spelled out 字符集表示          显示值:11月,若是英文版,显示november

  Day:

  dd    number         当月第几天        显示值:02

  ddd    number         当年第几天        显示值:02     select to_date(sysdate,'dy') from dual   ,
select to_date('110814 08:13:43','yy-MM-dd HH:mm:ss') from dual

  dy    abbreviated 当周第几天简写    显示值:星期五,若是英文版,显示fri

  day    spelled out   当周第几天全写    显示值:星期五,若是英文版,显示friday

  ddspth spelled out, ordinal twelfth

  Hour:

  hh    two digits 12小时进制            显示值:01

  hh24 two digits 24小时进制            显示值:13

  Minute:

  mi    two digits 60进制                显示值:45

  Second:

  ss    two digits 60进制                显示值:25

  其它

  Q     digit         季度                  显示值:4

  WW    digit         当年第几周            显示值:44

  W    digit          当月第几周            显示值:1

  24小时格式下时间范围为: 0:00:00 - 23:59:59....

  12小时格式下时间范围为: 1:00:00 - 12:59:59 ....

 

1.获取当前日期的年,月,日,时,分,秒

      select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年

  select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月

  select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日

  select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时

  select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分

  select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

2.求某天是星期几

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

     select to_char(to_date('20120323','yyyy/mm/dd'),'day') from dual

3.两个日期间的天数(oracle数据库两个日期相减获得是天数)

select floor(sysdate-to_date('20111203','yyyy-mm-dd')) from dual;

select to_char(sysdate-to_date('20111203','yyyy-mm-dd')) from dual;//返回带小数点天数

4.两个日期间的月数

select floor(months_between(sysdate,to_date('20120101','yyyy-mm-dd'))) from dual;

5.查看今年有多少天

select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual

6.设置日期语言

alter session set nls_date_language='simple chinese';
alter session set nls_date_language='american';

7.next_day(date,day)的用法

date表示一个日期,day表示周日到下周六,就是1-7.

select next_day(sysdate,7) from dual;//下一个周六

select next_day(sysdate,1) from dual;//下一个周日

8.yyyy与rrrr的区别

      'YYYY99 TO_C

  ------- ----

  yyyy 99 0099

  rrrr 99 1999

  yyyy 01 0001

  rrrr 01 2001

9.不同时区的处理

  select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate

  from dual;

         AST 大西洋标准时
         ADT 大西洋夏令时
         BST 白令标准时
         BDT 白令夏令时
         CST 中央标准时
         CDT 中央夏令时
         EST 东部标准时
         EDT 东部夏令时
         GMT 格林威治平均时
         HST 阿拉斯加夏威夷标准时
         HDT 阿拉斯加夏威夷夏令时
         MST Mountain标准时
         MDT Mountain夏令时
         NST 纽芬兰标准时
         PST 太平洋标准时
         PDT 太平洋夏令时
         YST YuKon标准时
         YDT YuKon夏令时
10.5秒钟一个间隔

Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')

  from dual

11.查找月的第一天,最后一天

      SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month,

  Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month,

  Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month,

  LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month

  FROM dual;

总结:oracle中没有timestamp类型的日期类型,只有date类型日期。2个日期类型数据相互减法以后获得天数。例如:MM和mm都表示月,而mm不像java里的分钟格式,所以oracle中代表分钟的格式是mi.

例如:

select  (to_date('2013-8-9 00:00:00','yyyy-mm-dd hh24:mi:ss')- sysdate  ) dt from dual;

sysdate:2013/8/9 13:38:21

返回-0.566388888888889,表明半天。而且是负的。表示前面的时间比后面的早。

 

 

分享到:
评论

相关推荐

    Oracle数据库总结

    Oracle 数据库总结 Oracle 数据库是甲骨文公司的一款关系数据库管理系统,是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。下面是 Oracle 数据库的总结...

    oracle数据库所有操作总结.doc

    这篇文档"Oracle数据库所有操作总结.doc"主要涵盖了Oracle中的查询语句和其他基本操作,对于熟悉和使用Oracle数据库非常有帮助。以下是对这些知识点的详细解释: 1. **查询语句**:基本的查询语句使用`SELECT`...

    关于Oracle数据库的一些基础知识

    总结,Oracle数据库的学习是一个循序渐进的过程,从掌握基本的SQL语法和数据库概念,到熟悉数据库管理与优化,再到解决实际问题,都需要不断实践和积累经验。通过阅读"Oracle数据库傻瓜一千问"和深入学习相关文档,...

    Oracle数据库sqlplus常用命令

    以下是Oracle数据库sqlplus常用命令的知识点总结: 获取数据库信息 1. 获取数据库名和创建日期:SELECT name, created, log_mode, open_mode FROM v$database; 该命令用于获取当前数据库的名称、创建日期、日志...

    ORACLE数据库学习总结

    ### ORACLE数据库学习总结 #### 一、数据库简介与安装 **1、Oracle与SQL Server比较的优点:** - **跨平台支持:** Oracle支持多种操作系统平台,如Windows、Linux、Unix等,而SQL Server主要支持Windows系统。这...

    oracle学习心得总结

    本文将根据提供的文档内容,总结和扩展Oracle数据库的基础知识点,帮助初级程序员更好地理解和掌握Oracle。 #### 一、Oracle 用户管理 1. **创建用户** - 命令格式:`CREATE USER 用户名 IDENTIFIED BY 密码;` ...

    oracle数据库知识总结.docx

    总结来说,Oracle数据库提供了丰富的数据类型和强大的权限管理功能,支持复杂的数据结构和约束,使得数据管理高效且安全。在实际应用中,理解并熟练掌握这些基础知识对于开发和管理Oracle数据库至关重要。

    oracle数据库知识总结.pdf

    Oracle数据库支持多种数据类型,包括字符串、数字和日期类型。字符串类型主要有`CHAR`(固定长度)和`VARCHAR2`(可变长度)。数字类型`NUMBER(p,s)`中,p表示精度,s表示小数位数。日期类型`DATE`可以存储日期和...

    oracle 数据库 scott.sql 范例表

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。"scott.sql"是一个典型的Oracle数据库示例脚本,它包含了著名的"SCOTT"用户的表和相关数据,这个用户是为了教学和演示目的而...

    Oracle数据库基础笔记大纲

    ### Oracle数据库基础笔记大纲 #### 一、数据库基础概念 ##### 1.1 什么是数据库 (Database) 数据库是一个用于组织、存储和管理数据的电子化的仓库。这些数据以一种有组织的方式存储,使得它们能够被方便地访问、...

    Oracle数据库自动备份脚本FOR WIN.rar

    总结来说,"Oracle数据库自动备份脚本FOR WIN.rar" 提供了一个高效、便捷的Windows环境下的Oracle数据库备份解决方案,它通过自动化的流程简化了管理任务,保障了数据安全。对于任何依赖Oracle数据库的企业来说,...

    Oracle数据库导入到SqlServer步骤(图文篇)

    Oracle 数据库到 SqlServer 数据迁移步骤详解 Oracle 数据库到 SqlServer 的数据迁移是一项复杂的任务,需要经过多个步骤来完成。本文将详细介绍如何将 Oracle 数据库导入到 SqlServer 中。 Step 1-6: 数据源设置...

    oracle数据库教案03

    ### Oracle数据库教案03知识点详解 ...总结起来,Oracle数据库的表创建及管理涉及多种操作,包括字段类型的定义、表的创建、复制、重命名以及截断等。这些操作对于有效地管理和维护数据库至关重要。

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    ### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect数据库连接命令** - **用途:** 连接或断开与Oracle数据库的连接。 - **语法示例:** - `sqlplus username/...

    Linux中Oracle数据库备份

    根据提供的信息,我们可以详细探讨在Linux环境中如何对Oracle数据库进行备份和恢复操作。这包括了手动备份和恢复的步骤以及如何通过脚本来自动化这一过程。 ### Linux环境下Oracle数据库备份 #### 1. 备份用户数据...

    DOS命令卸载oracle数据库

    ### DOS命令卸载Oracle数据库详解 #### 一、引言 在日常的IT运维工作中,我们经常需要对现有的Oracle数据库进行卸载操作。对于Windows环境下卸载Oracle数据库来说,掌握正确的卸载步骤是非常重要的,不恰当的操作...

    oracle数据库原理与设计知识点

    根据给定文件内容,以下是关于Oracle数据库原理与设计的知识点总结: 首先,数据库系统的基础概念是理解Oracle数据库的前提。数据是现实世界实体的符号表示,而数据库则是组织有序、可共享、长期存储在计算机内的...

    ORACLE数据库笔试题及答案.doc

    ### ORACLE数据库笔试题解析及知识点总结 #### 一、选择题解析 1. **算法的执行效率与数据的存储结构无关** - **解析**: 正确选项为 **C**。算法的执行效率与数据的存储结构密切相关。例如,数组与链表在查找、...

    Oracle数据库设计-图书管理系统.docx

    ### Oracle数据库设计——图书管理系统知识点解析 #### 一、需求分析 **背景分析:** - 图书馆规模的扩大导致图书及相关信息量急剧增长,传统人工管理方式难以应对大规模信息处理的需求,容易出现管理混乱、资源...

Global site tag (gtag.js) - Google Analytics