日期时间函数
Oracle 中的日期型数据实际含有两个值: 日期和时间。默认的日期格式是 DD-MON-RR.日期时间函数用来返回当前系统的日期和时间、以及对日期和时间类型的数据进行处理运算。
add_months(date,count);在指定的日期上增加count个月
last_day(date);返回日期date所在月的最后一天
months_between(date1,dates);返回date1到date2之间间隔多少个月
new_time(date,this’,’other’);将时间date从this时区转换成other时区
next_day(day,’day’);返回指定日期或最后一的第一个星期几的日期,这里day为星期几
sysdate();获取系统的当前日期
current_timestamp();获取当前的时间和日期值
round:日期的四舍五入
trunc 日期的截取
日期的数学运算:
l 在日期上加上或减去一个数字结果仍为日期。
l 两个日期相减返回日期之间相差的天数。
l 可以用数字除24来向日期中加上或减去小时。
//获取系统的当前时间 显示的格式采用默认格式 显示结果:07-4月 -11 11.15.38.390000 上午 +08:00
SQL> select current_timestamp from dual;
//获取系统的当前日期值 显示结果:2011-4-7 11
SQL> select sysdate from dual;
//为当前日期加上3个月 显示的结果:2011-7-7 11:18:36
select add_months(sysdate,3) from dual;
//返回当前月的最后一天 显示的结果:2011-4-30 11:19:4
select last_day(sysdate) from dual;
//返回两个日期之间的间隔月是几: 结果为:4
SQL> select months_between(add_months(sysdate,4),sysdate) from dual;
//从GMT时区转换成AST时区的日期结果
SQL> select new_time(sysdate,'GMT','AST') from dual;
//返回下一个星期一的日期值 必须写成星期’几’
SQL> select next_day(sysdate,'星期一') from dual;
SQL> select sysdate,round(sysdate,'yyyy') from dual;
SYSDATE ROUND(SYSDATE,'YYYY')
----------- ---------------------
2011-4-9 22 2011-1-1
SQL> select sysdate,round(sysdate,'mm') from dual;
SYSDATE ROUND(SYSDATE,'MM')
----------- -------------------
2011-4-9 22 2011-4-1
SQL> select sysdate,round(sysdate,'dd') from dual;
SYSDATE ROUND(SYSDATE,'DD')
----------- -------------------
2011-4-9 22 2011-4-10
SQL> select sysdate,trunc(sysdate,'dd') from dual;
SYSDATE TRUNC(SYSDATE,'DD')
----------- -------------------
2011-4-9 22 2011-4-9
SQL> select sysdate,trunc(sysdate,'yyyy') from dual;
SYSDATE TRUNC(SYSDATE,'YYYY')
----------- ---------------------
2011-4-9 22 2011-1-1
SQL> select sysdate,trunc(to_char(sysdate,'yyyy')) from dual;
SYSDATE TRUNC(TO_CHAR(SYSDATE,'YYYY'))
----------- ------------------------------
2011-4-9 22 2011
SQL> select sysdate,trunc(to_char(sysdate,'dd')) from dual;
SYSDATE TRUNC(TO_CHAR(SYSDATE,'DD'))
----------- ----------------------------
2011-4-9 22 9
SQL> select sysdate,trunc(to_char(sysdate,'mm')) from dual;
SYSDATE TRUNC(TO_CHAR(SYSDATE,'MM'))
----------- ----------------------------
2011-4-9 22 4
转换函数:
隐式转换:在运算过程中由系统自动完成的
显式转换:在运算过程中需要调用相应的转换函数实现。
隐式转换
数据类型
|
目标数据类型
|
VARCHAR2 or CHAR
|
NUMBER
|
VARCHAR2 or CHAR
|
DATE
|
NUMBER
|
VARCHAR2
|
DATE
|
VARCHAR2
|
显式转换
to_char(date,’format’):按照指定的格式format把数字或日期类型的数据转换成字符串
格式:
必须包含在单引号中而且大小写敏感。
可以包含任意的有效的日期格式。
日期之间用逗号隔开。
日期格式如下:
YYYY
|
2004
|
YEAR
|
TWO THOUSAND AND FOUR
|
MM
|
02
|
MONTH
|
JULY
|
MON
|
JUL
|
DY
|
MON
|
DAY
|
MONDAY
|
DD
|
02
|
//把当前日期转换成YYYY/MM/DD的格式
SQL> select to_char(current_timestamp,'YYYY/MM/DD') from dual;
//把当前日期转换成YYYY/MM/DD HH24/MI/SS AM的格式
SQL> select to_char(current_timestamp,'YYYY/MM/DD HH24/MI/SS AM') from dual;
//DD “of” MONTH
SQL> select to_char(current_timestamp,'YYYY DD "of" MONTH HH/MI/SS AM') from dual;
//把当数字按照$99,999这种方式返回字符串 并且操作数的位数不能够大于5(即$后边的位数)位,否则话结果会是########
SQL> select to_char(11111,'$99,999') from dual;
to_number(char);把包含了数字格式的字符串转换成数字数据
to_date(string,’format’);按照指定格式的format把字符串转换成日期数据,如果省略了foramt格式,那么就采用默认的日期格式(DD-MON-YY);
//把当前字符串转换成日期
SQL> select to_date('2011-02-08','YYYY-MM-DD') from dual;
//求出两个日期之间相差的天数
SQL> select to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD') from dual;
//求出两个日期之间相差的周次
SQL> select (to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD'))/7 from dual;
//对周次进行向上取整
SQL> select ceil((to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD'))/7) from dual;
chartorowid(char);把字符串转换成rowid类型
rowidtochar(x);把rowid类型转换成字符类型数据
分享到:
相关推荐
[三思笔记]日期时间及数字的格式化参数大全.pdf [三思笔记]使用可传输表空间的特性复制数据.pdf [三思笔记]手把手教你用vmware安装oracle10g RAC.pdf [三思笔记]手把手教你用VMware在linux下安装oracle10g RAC.pdf ...
Oracle分析函数是数据库管理系统Oracle中的一种高级查询工具,主要用于处理大量数据并进行复杂的统计和分析。它们在OLAP(在线分析处理)系统中尤其重要,因为这类系统常常涉及大规模的数据查询、汇总和复杂的业务...
Oracle分析函数是数据库管理系统Oracle中的一种高级查询工具,主要用于处理OLAP(在线分析处理)系统中的大规模数据。在OLTP系统中,数据处理通常涉及实时响应和复杂的业务逻辑,而OLAP系统则专注于数据仓库、数据...
根据提供的文档信息,可以看出这份文档主要记录了李兴华老师教授的Oracle课程中的关键知识点,特别是关于多表查询、连接类型、以及SQL中的分组与聚合函数等内容。下面将详细阐述文档中提到的重要知识点。 ### 多表...
1. **日期和时间类型**:Oracle提供了`DATE`类型来存储日期和时间,同时还有`TIMESTAMP`和`INTERVAL`类型,用于处理更精确的时间戳和时间间隔。 2. **直义字符串**:Oracle中,单引号包围的字符序列代表字符串,如`...
这份“Oracle笔记”涵盖了从数据库基础到高级特性的多个方面,是学习和掌握Oracle数据库的重要参考资料。 第一章 数据库介绍:这部分可能涉及数据库的基本概念,如数据库的定义、分类,以及Oracle在其中的地位和...
### Oracle学习笔记知识点详解 #### 一、SQL概述与Oracle简介 - **SQL**(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。它被用来执行各种数据库操作,如查询数据、更新数据...
在本文档“魔乐在线Oracle笔记超经典.doc”中,主要讲解了Oracle数据库中的多表查询、连接类型、SQL99新特性、组函数与分组统计等关键知识点。 1. **多表查询**:多表查询是数据库操作中常见的需求,例如,查询雇员...
Oracle SQL 是一种强大的数据库查询和管理语言,广泛用于管理和操作Oracle数据库系统。以下是一些关键概念和技巧,从提供的文件内容中提取出来: 1. **并行查询**:Oracle SQL 支持并行查询,通过`ALTER SESSION ...
Oracle数据库对象管理笔记 Oracle 数据库对象管理是 Oracle数据库中的一项重要功能,它允许用户在数据库中创建、管理和维护不同的对象,例如表、索引、存储过程、函数等。本笔记将为您详细讲解 Oracle 数据库对象...
了解SQL的基础语法和高级特性,如联接、子查询、聚合函数和窗口函数,能够让你在实际工作中更加得心应手。 在Oracle中,你需要了解以下几个关键点: 1. **Oracle体系结构**:Oracle数据库由多个物理组件构成,如...
这份2023年的马士兵Oracle笔记涵盖了Oracle数据库的一些基础操作和关键概念,包括客户端工具、用户管理、表结构、SELECT语句、DISTINCT关键字、WHERE子句、ORDER BY子句以及SQL函数。 1. **客户端工具**: - **SQL...
这份"有关Oracle学习总结.doc"文档,显然是一个关于Oracle数据库的学习笔记或教程,旨在帮助读者掌握Oracle的基础知识和高级特性。 首先,Oracle数据库的基础部分可能包括了SQL语言的使用,如数据查询、插入、更新...
这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...
oracle_PLSQL_语法详细手册&11g;.doc ORACLE_维护手册.doc oracle+110个常用函数.doc oracle分析函数.doc Oracle数据库日常维护手册.docx PLSQL开发笔记和小结.doc 这些文档还不错,自己也想里面添加了一些语法。
本笔记主要涵盖了Java语言的基本概念、语法结构以及核心编程技术,旨在帮助自考学员深入理解并熟练运用Java进行程序开发。 1. **Java语言简介**: Java是一种跨平台、面向对象的编程语言,由Sun Microsystems(现...
对于Oracle开发,重点在于学习PL/SQL语言,包括SQL查询、使用内置函数以及编写存储过程、函数和触发器。此外,熟悉Oracle的开发工具,如Oracle Developer Suite中的Forms和Reports Developer,掌握它们的使用技巧,...
《Oracle经典笔记》是一份深度探讨Oracle数据库管理系统的综合学习资料。这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看...
Oracle数据库是世界上最流行的数据库管理系统之一,对于复杂查询和数据分页有着丰富的支持。在学习Oracle时,理解如何处理这些复杂的查询以及实现分页是至关重要的技能。以下将详细讲解文档中提到的一些知识点: 1....
PL/SQL提供了多种数据类型,包括数值型、字符型、日期时间型、布尔型以及复合数据类型等,以满足不同数据存储需求。 2.2 标量类型 标量类型是最基本的数据类型,如数值型(NUMBER)、整型(INTEGER)、字符型...