在处理SoTower1.0中日期问题时,想保存时分秒,在设置数据库字段类型时发现TimeStamp有3种,不解。然看下文得解惑。
原文地址:http://hi.baidu.com/kidmanray/blog/item/c3e39016ac118151f2de3287.html
TIMESTAMP WITH TIME ZONE和TIMESTAMP WITH LOCAL TIME ZONE的实践理解
2006-10-02 12:01
实践过程:
1.建实践用表:
SQL> DROP TABLE TIMESTAMP_TEST;
表已删除。
SQL> CREATE TABLE TIMESTAMP_TEST(
2 TIME DATE,
3 TIMESTP TIMESTAMP(3),
4 TIMESTP_TZ TIMESTAMP(3) WITH TIME ZONE,
5 TIMESTP_LTZ TIMESTAMP(3) WITH LOCAL TIME ZONE);
表已创建。
2.查询DBTIMEZONE和SESSIONTIMEZONE设置:
SQL> SELECT DBTIMEZONE,SESSIONTIMEZONE FROM DUAL;
DBTIME
------
SESSIONTIMEZONE
---------------------------------------------------------------------------
+00:00
+08:00
3.插入测试数据,并确认结果:
SQL> INSERT INTO TIMESTAMP_TEST VALUES(SYSDATE,SYSDATE,SYSDATE,SYSDATE);
已创建 1 行。
SQL> COMMIT;
提交完成。
SQL> SELECT * FROM TIMESTAMP_TEST;
TIME
--------------
TIMESTP
---------------------------------------------------------------------------
TIMESTP_TZ
---------------------------------------------------------------------------
TIMESTP_LTZ
---------------------------------------------------------------------------
02-10月-06
02-10月-06 11.51.43.000 上午
02-10月-06 11.51.43.000 上午 +08:00
02-10月-06 11.51.43.000 上午
4.修改SESSION的TIME_ZONE:
SQL> ALTER SESSION SET TIME_ZONE='+10:00';
会话已更改。
SQL> SELECT * FROM TIMESTAMP_TEST;
TIME
--------------
TIMESTP
---------------------------------------------------------------------------
TIMESTP_TZ
---------------------------------------------------------------------------
TIMESTP_LTZ
---------------------------------------------------------------------------
02-10月-06
02-10月-06 11.51.43.000 上午
02-10月-06 11.51.43.000 上午 +08:00
02-10月-06 01.51.43.000 下午
结论:
根据实验结果,TIMESTAMP WITH LOCAL TIME ZONE会随着用户所在时区(SESSIONTIMEZONE)而变化,而TIMESTAMP WITH TIME ZONE则不随用户所在时区的变化而变,简单的说,这两个时间类型的参照时间不同,一个是参照用户的时区,一个是参照数据库的时区。
|
分享到:
相关推荐
首先,文档指出了创建表空间时可以使用autoextendon参数,这是Oracle数据库管理中的一个关键知识点。通过autoextendon设置,一旦表空间存储量超过其初始设定值,数据库将自动开始扩容。通过设置next参数可以指定每次...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储、管理和处理中扮演着核心角色。本文将深入探讨在Oracle数据库操作中涉及的一些关键知识点,包括记录集的显示、时间的SQL转换、汉字的...
Oracle 数据库语句大全是 Oracle 数据库管理系统中的一系列语句,用于管理和操作数据库。这些语句可以分为五大类:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。 一....
delphi与ORACLE数据库连接控件odac 安装说明 1.找到ODAC_5.70.0.30_FS\Source\Delphi7. 2.Make.bat右键编辑,填入delphi7安装路径. 3.然后运行Make.bat生成bpl文件. 注意: 在安装的时候会出现一个错误: [Fatal ...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据了重要的地位。以下是对"Oracle数据库经典教程"的部分内容的详细说明: **走进Oracle** Oracle数据库系统由Oracle公司开发,...
Oracle数据库支持多种数据类型,包括number、varchar、date、timestamp等。这些数据类型在C#语言中有相应的对应类型,如int、string、DateTime等。 System.Data.OracleClient命名空间 System.Data.OracleClient...
在 Oracle 中,还可以使用一些特殊的函数来处理时间信息,例如 CURRENT TIMESTAMP() 函数可以返回当前时间,TO_CHAR() 函数可以将日期类型转换为字符类型。这些函数可以帮助数据库管理员和开发者更好地处理时间信息...
在Oracle数据库中,`TIMESTAMP`与`DATE`两种数据类型是用于存储日期和时间信息的关键组成部分,但它们之间存在显著的区别,特别是在处理时间和精度方面。本文将深入探讨这两种数据类型的特点,以及如何在实际应用中...
Oracle数据库中的一些常用关键字包括: - **SELECT**: 查询数据。 - **FROM**: 指定数据来源表。 - **INNER JOIN / LEFT JOIN / RIGHT JOIN / FULL OUTER JOIN**: 多表联接。 - **ON**: 指定联接条件。 - **WHERE**...
你需要将MySQL的表结构脚本转换为Oracle兼容的格式,这包括删除`ENGINE=InnoDB`等MySQL特定语句,以及处理字段类型的差异,如`TIMESTAMP`与`DATE`的区别。 二、SQL语法调整 1. 存储过程与函数:Oracle和MySQL的存储...
赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失...
### Oracle数据库基础教程知识点概述 #### 一、数据库基础 1. **数据库简介**: - 数据库的概念:介绍数据库的基本定义,以及其在信息化社会中的重要作用。 - 数据库的发展历程:从早期的文件系统到关系型数据库...
Oracle数据库支持多种数据类型,例如NUMBER、VARCHAR2、DATE、TIMESTAMP等。这些数据类型可以满足不同的应用需求,提供了灵活和强大的数据存储机制。 创建表和约束 创建表是数据库设计和开发的重要步骤,需要...
Oracle数据库教程涵盖了Oracle Database 10g的基本概念和核心组件,是学习数据库管理和...在实际应用中,还需要深入学习SQL查询、索引、触发器、存储过程、备份恢复策略等高级主题,才能有效地管理和利用Oracle数据库。
在Oracle数据库中,数据库服务器、数据库和表的关系是非常重要的概念。数据库服务器是一个管理程序,可以管理多个数据库。每个数据库可以包含多个表,每个表用于保存应用程序中的实体数据。例如,在一个用户信息系统...
在本实例中,我们将探讨如何使用JSP与Oracle数据库进行交互,实现一个功能完备的在线留言板。 首先,JSP是Java平台上的动态网页技术,它允许开发人员将Java代码嵌入HTML页面中,以处理服务器端的业务逻辑。在Java...
Oracle的Timestamp with Time Zone类型与Java的交互是数据库编程中一个重要的知识点,特别是在处理跨越时区的数据时。本文将深入探讨这两个概念以及它们在实际应用中的互动。 Oracle的Timestamp with Time Zone类型...
不需要运行Oracle数据库软件,ODU直接读取数据库文件解析数据。 支持ASM,能够直接从ASM磁盘中导出数据,即使相关的磁盘组不能成功mount 支持从ASM中直接抽取出数据文件和其他任意存储在ASM中的文件(包括控制文件...