`

Oracle中的TIMESTAMP数据类型

阅读更多

timestamp格式表示的时间如何转换成普通格式:

SQL>   SELECT   to_char(tp,'dd-mm-yyyy   hh24:mi:ss.ff')   FROM   TIMESTAMPTEST;

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

java.sql.Timestamp 和 java.sql.Date互相转换:

 

java.sql.Date--->java.sql.Timestamp
new java.sql.Timestamp(yourDate.getTime());

java.sql.Timestamp-->java.sql.Date
new java.sql.Date(yourTimestamp.getTime());

界面要显示毫秒的话,在date传到前面时转化格式即可! 

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

TIMESTAMP 数据类型,是DATE的扩展,可以存储年、月、日、小时 、分钟、秒,同时还可以存储秒的小数部分。

语法为:TIMESTAMP [(fractional_seconds_precision)]

fractional_seconds_precision为可选项,指定秒的小数部分的精度,取值范围为0-9,默认值为6。

示例代码:

declare
v_inteval timestamp (7);
begin
v_inteval := TIMESTAMP '2007-05-05 23:34:45.1234567';                  
dbms_output.put_line(v_inteval);
end;

结果为:05-5月 -07 11.34.45.1234567 下午。

说明:如果精度为5,则结果为05-5月 -07 11.34.45.12346 下午;如果精度为8,则结果为05-5月 -07 11.34.45.12345670 下午。

二、TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE数据类型是可以指定时区的TIMESTAMP 。时区的偏移是指本地时间和格林尼治(UTC)时间之间的差异(小时 和分钟)。

语法为:TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

fractional_seconds_precision为可选项,指定秒的小数部分的精度,取值范围为0-9,默认值为6。

如果2个TIMESTAMP WITH TIME ZONE,相对于UTC代表相同的时间,则认为这2个TIMESTAMP WITH TIME ZONE是相等的,而不管这2个TIMESTAMP WITH TIME ZONE所代表的具体时间,例如:TIMESTAMP '1999-04-15 8:00:00 -8:00'和TIMESTAMP '1999-04-15 11:00:00 -5:00'是相等的,虽然他们分别表示当地的8点和11点,其中-8:00以及-5:00,表示相对UTC的偏移量。

在上例中,也可以将偏移量替换成时区地区(TRZ,time zone region),例如,上例中的TIMESTAMP '1999-04-15 8:00:00 -8:00',与TIMESTAMP '1999-04-15 8:00:00 US/Pacific'是相等的。

为了削除因为夏令时引起的时间歧义,同时使用TRZ,以及和TRZ相对应的TRD来确保返回正确的时间,例如:TIMESTAMP '1999-10-29 01:30:00 US/Pacific PDT'。如果没有使用TZD元素,并且ORACLE 的ERROR_ON_OVERLAP_TIME session参数设置为TRUE,则ORACLE 会返回错误。如果ERROR_ON_OVERLAP_TIME session参数设置为FALSE,则ORACLE 认为该TIMESTAMP WITH TIME ZONE为标准时间。

代码一:

declare
v_inteval timestamp (7) with time zone;
begin
v_inteval := TIMESTAMP '2007-05-05 23:34:45.1234567';                  
dbms_output.put_line(v_inteval);
end;

结果为:05-5月 -07 11.34.45.123456700 下午 +08:00。

说明:该结果与(一)中的代码结果相比,多了一个时区偏移量+08:00,说明该时间为北京时间。

代码二:

declare
v_inteval_1 timestamp (3) with time zone;

  v_inteval_2 timestamp (3) with time zone;
begin
v_inteval_1 := TIMESTAMP '1999-04-15 8:00:00 -8:00';
  v_inteval_2 := TIMESTAMP '1999-04-15 11:00:00 -5:00';
  if(v_inteval_1=v_inteval_2)  then            
  dbms_output.put_line('v_inteval_1=v_inteval_2');
  else
   dbms_output.put_line('v_inteval_1!=v_inteval_2');
  end if;
end;

结果为:v_inteval_1=v_inteval_2。

三、TIMESTAMP WITH  LOCAL TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE数据类型也是可以指定时区的TIMESTAMP ,和TIMESTAMP WITH TIME ZONE不同的是,他存储的是数据库的时区,时区偏移量并不存储。当用户提交数据,ORACLE 返回的是用户的本地所在的时区。时区的偏移是指本地时间和格林尼治(UTC)时间之间的差异(小时 和分钟)。TIMESTAMP WITH LOCAL TIME ZONE主要用于CS二层系统应用。

语法:TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE

以上代码的运行环境:oracle9.2,pl/sql developer

分享到:
评论

相关推荐

    oracle中TIMESTAMP与DATE比较

    在Oracle数据库中,`TIMESTAMP`与`DATE`两种数据类型是用于存储日期和时间信息的关键组成部分,但它们之间存在显著的区别,特别是在处理时间和精度方面。本文将深入探讨这两种数据类型的特点,以及如何在实际应用中...

    Oracle与.Net 数据类型映射

    了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与.Net 数据类型映射"这一主题的详细解释。 首先,Oracle数据库提供了一系列的数据...

    oracle中TIMESTAMP与DATE比较.docx

    Oracle 数据库中 TIMESTAMP 与 DATE 两个数据类型都是用于存储日期和时间的,但是它们之间有着很大的区别。在本文中,我们将详细比较这两个数据类型的特点、使用场景和优缺点。 DATE 数据类型 DATE 数据类型是 ...

    oracle日期时间数据类型与时间间隔数据类型讲解

    在Oracle数据库中,日期时间数据类型主要包括`DATE`、`TIMESTAMP`及其变体(如`TIMESTAMP WITH TIME ZONE`、`TIMESTAMP WITH LOCAL TIME ZONE`)以及`INTERVAL`数据类型。这些数据类型被广泛应用于记录日期、时间...

    Oracle Timestamp with Time zone & java

    Oracle的Timestamp with Time Zone类型是一种能够存储日期、时间和时区信息的数据类型。它不仅记录了事件发生的具体时间,还记录了这个时间是在哪个时区发生的。这对于全球化应用来说尤其重要,因为同一时刻在不同的...

    sql server 和oracle 中数据类型的区别

    本文将深入探讨SQL Server与Oracle中的数据类型区别,并通过具体的例子来说明这两种系统之间的转换方法。 ### SQL Server 数据类型 SQL Server 是微软开发的一款关系型数据库管理系统,它支持多种数据类型,可以...

    oracle和sql数据类型

    Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...

    Oracle与DB2数据类型的分类对应说明

    Oracle 与 DB2 数据类型的分类对应说明 在数据类型方面,Oracle 和 DB2 都提供了多种数据类型以满足不同的应用需求。然而,这两种数据库管理系统之间的数据类型并不完全相同,本文将对 Oracle 和 DB2 数据类型进行...

    oracle-java数据类型1

    在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...

    Mysql、orcale 中的数据类型与java中的数据类型对应表.pdf

    Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...

    java、mysql以及oracle数据类型对照表

    MySQL和Oracle的数据类型则针对存储和操作数据库中的各种数据类型进行了优化。 MySQL的数据类型包括数值类型(如INT、DECIMAL)、字符串类型(如VARCHAR、TEXT)、日期和时间类型(如DATE、TIMESTAMP)以及二进制...

    oracle的数据类型及存储方式 文档

    Oracle 数据类型是数据库管理系统Oracle中用于定义和存储各种数据类型的规则和格式。这些数据类型决定了字段可以存储的数据种类,以及如何存储和处理这些数据。在Oracle中,数据类型分为多种,包括字符类型、数值...

    Oracle中TIMESTAMP的几种类型介绍与实例

    在Oracle数据库中,`TIMESTAMP` 是一种用于存储日期和时间数据类型的字段,与传统的`DATE`类型相比,它的精度更高,能够精确到小数秒。`TIMESTAMP` 类型的精度可设置为 0 到 9 位,缺省情况下是 6 位,这意味着它...

    oracle支持的数据类型

    Oracle数据库系统支持多种数据类型,这些数据类型用于定义表中的列,以便存储各种形式的信息。以下是对Oracle支持的数据类型进行详细解释: 1. 字符类: - `CHAR`:这是一个定长字符串类型,最大长度为2000个字符...

    Oracle和DB2的数据类型比较

    本文旨在对比Oracle和DB2/400数据库管理系统中的数据类型,并重点分析日期和时间类型的差异。由于Oracle和DB2/400在数据类型的定义和实现上存在差异,因此在进行数据库迁移或跨平台开发时,了解这些差异至关重要。 ...

    oracle中TIMESTAMP与DATE比较.pdf

    Oracle数据库中的`DATE`和`TIMESTAMP`是两种常见的日期和时间数据类型,它们在处理时间信息时有着不同的特性和用途。 首先,`DATE`数据类型是我们最常使用的,它可以存储日期和时间,包括世纪、年、月、日、小时、...

    Oracle9i数据类型Java数据类型Schema类型对比.doc

    Schema 类型通常与数据库系统提供的数据类型一致,例如 Oracle9i 中的 NUMBER、CHAR 和 DATE。 4. 其他数据库系统的数据类型对比: - DB2:它的数据类型如 SMALLINT, INTEGER, BIGINT, REAL, DOUBLE 与 Java 类型...

    oracle --timestamp

    在Oracle数据库中,`TIMESTAMP`是一种用于存储日期和时间的数据类型,它可以精确到毫秒级别。`TIMESTAMP`数据类型不仅包含了日期和时间,还包含了时区信息,这对于处理全球性的业务非常重要。 #### 2. 创建表并插入...

    oracle 数据类型 说明

    ### Oracle 数据类型详解 Oracle 数据库提供了丰富的内置数据类型,...以上数据类型覆盖了 Oracle 数据库中的大部分应用场景,开发者可以根据具体需求选择合适的数据类型来存储数据,以实现高效的数据管理和查询操作。

    oracle_数据类型讲解.ppt

    Oracle 数据类型是数据库管理系统中用于存储不同类型数据的结构。在Oracle数据库中,数据类型分为多个类别,包括字符类型、数值类型、二进制类型、日期和时间类型以及特殊类型。下面将详细介绍这些数据类型。 1. **...

Global site tag (gtag.js) - Google Analytics