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

 更新时间:2016年12月14日 09:35:42   投稿:daisy  
我们都知道date和timestamp都是对日期和时间的表示,只是两种类型的精确度不同,前者精确到秒,后者精确到小数秒(fractional_seconds_precision),可以是 0 to 9,缺省是6。这篇文章主要介绍了Oralce中TIMESTAMP的几种类型。有需要的朋友们可以参考借鉴。

TIMESTAMP的几种类型比较

TIMESTAMP

时间戳类型,与date的区别在于,date不能精确到毫秒,而timestamp可以精确到毫秒,毫秒的位数为0-9位,默认为6位。

SQL> select tp from timestamp_test;
TP
--------------------------------------------------------------------------------
01-3月 -16 09.22.33.000000 上午

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE 与 TIMESTAMP的区别在于,前者输出显示携带存入该时间值的数据库时区,后者输出不携带时区。

SQL> select tp_tz from timestamp_test;
TP_TZ
--------------------------------------------------------------------------------
01-3月 -16 09.22.33.000000 上午 +08:00

TIMESTAMP WITH LOCAL TIME ZONE与TIMESTAMP的区别在于,前者的输出受时区影响,会跟着时区的变化而变化,而后者存入数据库后将不受时区影响。即前者以数据库本地时区保存数据,输出时将转换成客户端时区输出。

SQL> select tp_l_tz from timestamp_test;
TP_L_TZ
--------------------------------------------------------------------------------
01-3月 -16 09.22.33.000000 上午

实战演练

# 创建timestamp_test测试表
SQL> create table timestamp_test(dt date,tp timestamp(6),tp_tz timestamp(6) with time zone,tp_l_tz timestamp(6) with local time zone);
Table created
# 在测试表中添加数据
SQL> insert into timestamp_test values(sysdate,sysdate,sysdate,sysdate);
1 row inserted
SQL> commit;
Commit complete
# 查看数据库的时区和当前会话的时区
SQL> select dbtimezone,sessiontimezone from dual;
DBTIMEZONE SESSIONTIMEZONE
---------- ---------------------------------------------------------------------------
+00:00   +08:00
# 查看当前时间
SQL> select sysdate from dual;
SYSDATE
-----------
2016/3/1 9:
# 查看测试表的数据
SQL> select * from timestamp_test;
DT     TP                                        TP_TZ                                      TP_L_TZ
----------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
2016/3/1 9: 01-3月 -16 09.22.33.000000 上午                         01-3月 -16 09.22.33.000000 上午 +08:00                      01-3月 -16 09.22.33.000000 上午
# 修改当前会话的时区
SQL> alter session set time_zone='+10:00';
Session altered
# 查看当前会话时区修改后的测试表的数据
SQL> select dbtimezone,sessiontimezone from dual;
DBTIMEZONE SESSIONTIMEZONE
---------- ---------------------------------------------------------------------------
+00:00   +10:00
SQL> select * from timestamp_test;
DT     TP                                        TP_TZ                                      TP_L_TZ
----------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
2016/3/1 9: 01-3月 -16 09.22.33.000000 上午                         01-3月 -16 09.22.33.000000 上午 +08:00                      01-3月 -16 11.22.33.000000 上午
Oracle的备份与恢复

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • Oracle学习笔记(四)

    Oracle学习笔记(四)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12
  • oracle 时间格式的调整

    oracle 时间格式的调整

    oracle下中文日期和英文日期的转换!
    2009-05-05
  • Oracle查询优化日期运算实例详解

    Oracle查询优化日期运算实例详解

    这篇文章主要介绍了Oracle查询优化日期运算实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Windows下ORACLE 10g完全卸载的方法分析

    Windows下ORACLE 10g完全卸载的方法分析

    最近有朋友在群里问如何完全卸载ORACLE 10g,这里简单的整理下,方便需要的朋友
    2012-06-06
  • oracle数据库如何查询所有用户

    oracle数据库如何查询所有用户

    这篇文章主要给大家介绍了关于oracle数据库如何查询所有用户的相关资料, Oracle数据库中存储元数据的系统表提供了查询所有用户的方法,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-09-09
  • CenterOs7 安装oracle19c的方法详解

    CenterOs7 安装oracle19c的方法详解

    这篇文章主要介绍了CenterOs7 安装oracle19c的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • oracle数据库查询所有表名和注释等

    oracle数据库查询所有表名和注释等

    这篇文章主要给大家介绍了关于oracle数据库查询所有表名和注释等的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04
  • Oracle数据库INSERT INTO的几种用法举例

    Oracle数据库INSERT INTO的几种用法举例

    INSERT INTO语句可以有多种写法,具体取决于插入的数据来源和目标,这篇文章主要给大家介绍了关于Oracle数据库INSERT INTO的几种用法举例,需要的朋友可以参考下
    2024-02-02
  • [Oracle] 分析AWR报告的方法介绍

    [Oracle] 分析AWR报告的方法介绍

    因为AWR报告非常长,不可能从头到尾一字不漏的去看,要有选择的去看重点部分。最好能对照的来读,即和系统正常情况下的AWR报告对比,找差异。以下就是对分析AWR报告的方法进行了介绍,需要的朋友参考下
    2013-07-07
  • Oracle基础多条sql执行在中间的语句出现错误时的控制方式

    Oracle基础多条sql执行在中间的语句出现错误时的控制方式

    今天小编就为大家分享一篇关于Oracle基础多条sql执行在中间的语句出现错误时的控制方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论