TIMESTAMP数据类型:是DATE的扩展,可以存储年、月、日、小时、分钟、秒,同时还可以存储秒的小数部分。
通过to_timestamp函数将date型转成这种类型,来看看它的形式
详见代码:
SELECT TO_TIMESTAMP('2009-7-30','yyyy-mm-dd')
FROM dual
结果为:30-7月 -09 12.00.00.000000000 上午
timestamp以日期格式输出表示 :
select TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') ,'YYYY-MM-DD HH24:MI:SS')
from dual
结果为:2009-07-30 00:00:00
date格式的时间差,以秒为单位:
select (to_date('2009-7-30', 'yyyy-mm-dd hh24:mi:ss') -
to_date('2009-7-29', 'YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"
from dual
结果为:86400
timestamp格式求时间差,以秒为单位:
select (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),
'yyyy-mm-dd hh24:mi:ss') -
to_date(TO_CHAR(to_timestamp('2009-7-29','yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss'),
'YYYY-MM-DD HH24:mi:ss')) * 86400 as "itvtime"
from dual
结果为:86400
求任意timestamp格式的时间戳,据1970年01月01日的毫秒数:
SELECT (to_date(TO_CHAR(to_timestamp('2009-7-30','yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') -
to_date('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:mi:ss')) * 86400000
FROM dual
结果为:1248912000000
应用:具体应用时将例子中to_timestamp()阴影部分代码换成相应字段即可(该字段是timestamp格式)
与得到以分为单位或小时为单位只需要变乘的数即可
虽然实现了时间差的计算,自我感觉比较复杂化,希望找到比较简便的方法。。。
根据日期求当月天数
select add_months(trunc(to_date('2009-9', 'yyyy-mm'), 'mm'), 1)
- trunc(to_date('2009-9', 'yyyy-mm'), 'mm')
from dual
结果为:30
分享到:
相关推荐
此外,当需要计算两个`DATE`类型值之间的时间差时,Oracle默认返回的结果是以天为单位的浮点数。这意味着如果需要获取具体的小时、分钟和秒数,还需要额外的转换步骤。例如,可以通过乘以一天的秒数(86400秒)并...
- **说明**: 用于表示两个日期或时间点之间的时间差。 - **参数**: - `INTERVAL YEAR(year_precision) TO MONTH`: 存储年和月的时间间隔。 - `year_precision`: 指定年份整数位数,最大9位,默认2位。 - `...
在 Oracle 中,日期类型可以是 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE 等多种形式。TO_DATE 函数的基本语法是 TO_DATE( string, format ),其中 string 是要转换的字符串,format 是转换的格式。 在 TO_DATE ...
在SQL查询中对Oracle数据库进行时间段操作是一项关键技能,特别是在数据恢复和历史数据分析时。Oracle数据库提供了多种方式来处理时间范围的数据,包括SQL查询、闪回功能和快照。下面我们将详细探讨这些知识点。 ...
在Oracle数据库中,时间间隔型数据(INTERVAL)的...总的来说,Oracle的时间间隔型数据提供了对时间跨度的精确管理和计算,极大地简化了涉及时间差的操作,使得在数据库中处理时间相关的业务逻辑变得更加方便和准确。
在Oracle数据库中,计算时间差通常涉及到日期和时间...总之,计算Oracle中的毫秒时间差涉及到了对日期和时间类型的理解,以及对字符串操作和数值计算的运用。在实际应用中,应根据数据库版本和性能需求选择合适的方法。
- **应用场景**:适用于计算两个时间点之间的精确时间差。 4. **TIMESTAMP[(seconds_precision)]** - **描述**:日期和时间类型,用于存储精确到秒甚至毫秒级别的日期时间。 - **应用场景**:适用于需要高精度...
Oracle时间函数是数据库管理中非常关键的一部分,特别是在处理与日期和时间相关的数据时。在Oracle数据库中,时间函数允许我们进行各种操作,如获取当前日期和时间、计算日期之间的差异、调整日期以及按特定周期对...
Oracle数据库中的DATE和TIMESTAMP是两种不同的数据类型,它们在存储日期和时间信息时有所区别。 1. DATE数据类型: DATE类型是最基础的日期时间数据类型,它可以存储日期(年、月、日)和时间(时、分、秒)。在...
INTERVAL类型则是用来存储两个日期或时间点之间的时间差,可以表示年、月、日、小时、分钟和秒的组合,而且可以与DATE或TIMESTAMP进行加法运算,生成新的日期或时间戳值。 在Oracle中,当查询DATE类型时,数据库会...
- `TIMESTAMP`:精确到毫秒的时间戳类型。 - **大型对象类型**: - `CLOB`:存储大文本数据,如文档或文章。 - `BLOB`:存储二进制数据,如图像或视频文件。 #### SQL操作符 - **算术运算符**:`+` `-` `*` `/` ...
- `TO_YMINTERVAL`用于创建年月间隔,常用于计算时间差。 3. 时区敏感性: - `CURRENT_DATE` 和 `CURRENT_TIMESTAMP` 都会受到会话时区设置的影响,这意味着当你更改会话时区时,这两个函数返回的值也会相应改变...
- **TIMESTAMP**: 存储日期和时间,但比DATE类型更精确,可以存储到毫秒级。 - **TIMESTAMP WITH TIME ZONE**: 包含时区信息的时间戳,非常适用于处理跨越多个时区的数据。 - **TIMESTAMP WITH LOCAL TIME ZONE**:...
在Oracle数据库中,日期时间数据类型包括DATE和TIMESTAMP两种。本篇文章将主要介绍日期相关的函数。 ### TO_DATE 函数详解 `TO_DATE`函数用于将字符串转换成日期格式。在Oracle中,`TO_DATE`函数的格式非常灵活,...
时间间隔不仅可以正向表示,还可以表示负向的时间差。它们可以与TIMESTAMP类型的数据结合,通过加减运算生成新的TIMESTAMP值,实现时间的前后移动。例如,如果有一个实验的开始时间(experiment_start)和持续时间...
- **PostgreSQL**: 使用 `CURRENT_DATE` 或 `CURRENT_TIMESTAMP` 获取当前日期或日期时间,并通过 `TO_CHAR` 函数进行格式化。 #### 六、计算两个日期之间的间隔 - **Oracle**: 可以直接相减两个 `DATE` 类型的值。...
- **ISO SQL92 Standard**、**PostgreSQL**与**Oracle**:三者均支持`timestamp`类型,用于存储时间戳数据,但PostgreSQL和Oracle的`timestamp`类型具有固定的字节数量,而ISO SQL92标准中的`timestamp`类型大小则...
首先,Oracle数据类型大致可以分为四大类:数值型、字符型、日期/时间型和二进制型。数值型数据类型包括整数类型(如NUMBER、INTEGER、BINARY_INTEGER)和浮点类型(如BINARY_FLOAT、BINARY_DOUBLE)。NUMBER是最...
Oracle数据库在处理时间日期操作方面提供了丰富的功能,涵盖了日期的计算、转换以及各种时间单位的提取。以下是一些重要的Oracle时间日期操作知识点: 1. **日期和字符转换**: - `TO_DATE`函数用于将字符串转换为...
Oracle 引入了三种日期时间类型:TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE。 常用的 DateTime 函数有: * CURRENT_TIMESTAMP:返回当前的日期和时间 * TIMESTAMP:将日期和时间转换...