oracle与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTERVAL类型可以很容易地存储一个时间量,如“8个小时”或“30天”。将两个日期相减,就会得到一个时间间隔(INTERVAL);例如,将8小时间隔加到一个TIMESTAMP上,会得到8小时以后的一个新的TIMESTAMP。
操作日期有关字段的时候,最好显示地指定日期或时间格式,比如:
Insert into t ( date_column ) values ( to_date( '01/02/2003', 'DD/MM/YYYY' ) );避免各种格式造成混乱。
1. DATE类型介绍
DATE类型是一个7字节的定宽日期/时间数据类型。它总是包含7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。这七个字节分别存储的是这7个属性,比如:2005-12-05 12:30:43存储的是120,105,12,5,12,31,44。世纪和年份分别加了100,分钟和秒钟分别加了1。世纪和年份加100是为了区分公元前和公元后。我们经常使用这样的条件,Where to_char(date_column,'yyyy') = '2005',其实这个地方可以换成:Where trunc(date_column,'y') = to_date('01-jan-2005','dd-mon-yyyy')。因为,trunc函数是在日期上将年份后面5个字节清空,而to_char函数,还要转换成字符串。当然,如果能够不使用函数最好,比如:created >= to_date('01-jan-2005','dd-mon-yyyy') and created < to_date('01-jan-2006','dd-mon-yyyy');这样如果在created列上建立了索引,还能使用索引。
如何向date增减时间
1. 使用NUMTODSINTERVAL内置函数来增加小时、分钟和秒。比如:DATE+NUMTODSINTERVAL(n,'minute')
2. 加一个简单的数来增加天。比如:DATE+n
3. 使用ADD_MONTHS内置函数来增加月和年。比如:ADD_MONTHS(DATE,n)
因为,ADD_MONTHS函数专门处理月末日期。它实际上会为我们完成日期的“舍入”;例如,如果向一个有31天的月增加1个月,而且下一个月不到31天,ADD_MONTHS就会返回下一个月的最后一天。比如:向2000年2月29日增加1个月,得到的是2000年3月31日。2月29日是该月的最后一天,所以ADD_MONTHS返回了下一个月的最后一天。
2. TIMESTAMP类型介绍
TIMESTAMP类型与DATE非常类似,只不过另外还支持小数秒和时区。
语法如下: TIMESTAMP(n),n可选,用于指定TIMESTAMP中秒分量的小数位数,可以取值为0~9.如果指定0,TIMESTAMP在功能上则与DATE等价。
分享到:
相关推荐
### Oracle日期时间类型详解 #### 一、概述 在Oracle数据库中,并不存在`datetime`这一数据类型,而是通过`date`类型来实现日期与时间的综合处理。`date`类型可以表示日期和时间,它固定占用7个字节的空间。本篇...
oracle 日期类型查询汇总
Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减、获取给定日期所在月...
### Oracle 日期类型处理 在Oracle数据库中,对日期类型的处理是十分常见的需求之一,尤其在数据查询、分析以及报表生成等场景下尤为重要。本文将详细介绍Oracle中与日期相关的两个重要函数:`to_date()` 和 `to_...
### Oracle日期类型处理知识点 #### 一、Oracle日期类型的存储与表示 在Oracle数据库中,日期类型被用来存储日期和时间信息。一个日期值包括年、月、日、时、分、秒等部分,并且Oracle默认以内部格式存储日期值,...
### Oracle日期时间数据类型与时间间隔数据类型详解 #### 23.1 概述:Oracle中的日期时间数据类型 在Oracle数据库中,日期时间数据类型主要包括`DATE`、`TIMESTAMP`及其变体(如`TIMESTAMP WITH TIME ZONE`、`...
- Oracle允许日期与数字直接相加减,这是因为日期类型可以隐式转换为天数,数字则被视为天数的倍数。 5. **日期之间的比较**: - 日期可以直接相减得到两个日期之间的天数差,例如`sysdate - sysdate`将返回0,...
以下是对给定文件中提及的Oracle日期处理函数的详细说明: 1. **add_months(d, n)**: 此函数将日期d加上n个月,返回新的日期。例如,`add_months(SYSDATE,1)`会返回当前日期往后一个月的日期。 2. **last_day(d)**...
本文将深入探讨Oracle的字符类型、数字类型、日期类型、ROWID类型和RAW类型的基本数据类型的存储机制。 首先,让我们聚焦于字符类型。在Oracle中,主要的字符类型包括CHAR、VARCHAR2和LONG。CHAR是定长字符类型,...
oracle中日期类型与unix 时间戳的转换, Unix时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。 Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数 --unix时间戳与date时间互转 ...
Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...
本文介绍了Oracle中日期型数据格式的相关知识,包括如何设置日期格式以及如何使用`TO_DATE()`和`TO_CHAR()`函数进行日期类型的转换。理解这些基础知识对于日常的数据库管理和开发工作至关重要。通过合理地设置和利用...
针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个关键的函数,它们主要用于判断字符串是否可以转换为合法的日期时间格式。 1. TO_DATE函数: TO_DATE是Oracle中用于将字符串转换为日期...
TO_DATE 函数是 Oracle 中最常用的日期处理函数之一,它可以将字符串转换为日期类型。其基本语法为: `TO_DATE(string, format)` 其中,`string` 是要转换的字符串,`format` 是转换的格式。 例如: `SELECT TO_...
3. **日期/时间类型**:DateTime对应Oracle的DATE,DateTimeOffset对应TIMESTAMP WITH TIME ZONE,TimeSpan对应INTERVAL DAY TO SECOND。 4. **二进制数据类型**:byte[]对应BLOB,System.IO.FileStream或其他流...
另一种常用的方法是使用 `TO_CHAR()` 函数直接转换日期类型的值,这样即使没有修改会话级别的设置也能实现特定格式的输出。 ```sql SELECT TO_CHAR(some_date_column, 'yyyy-MM-dd hh24:mi:ss') AS formatted_date ...
Oracle数据库支持多种数据类型,如数值型(NUMBER、INTEGER、BINARY_INTEGER等)、字符型(VARCHAR2、CHAR、CLOB等)、日期时间型(DATE、TIMESTAMP等)以及二进制数据类型(RAW、BLOB等)。在某些情况下,当不同...
此示例演示了如何将字符串形式的日期转换为日期类型。 #### 四、日期截断与四舍五入 有时我们需要截断或四舍五入日期到某个特定的时间单位,如年、月、日等。 **1. 截断日期到年** ```sql SELECT TRUNC(SYSDATE, ...
Oracle 中有多种基本数据类型,包括字符类型、数字类型、日期类型、二进制类型等。了解这些数据类型的特点和使用场景,对于数据库设计和开发至关重要。本文将详细介绍 Oracle 中的基本数据类型,并讨论它们的特点和...