关于timestamp数据类型

关于timestamp数据类型
 很早就知道oracle有timestamp这种数据类型,不过没有怎么用过,也就没有深入了解了。
 用的较多的就是date数据类型,当然此数据类型可以解决当前工作中很多和时间相关的问题,也可以使用oracle很多自带的日期函数。
 今天开发那边的需求需要精度更高的时间列,于是就想到了oracle的timestamp数据类型。
 
 timestamp数据类型说明
  timestamp数据类型可以存储精度到秒小数后0-9位,默认为6位,也就是说此数据类型可以存储的精度是十几亿分之一秒的日期。当然此数据类型和date也一样存储年、月、日、时、分、秒。
  
 以下为具体操作示例:
 1、带时区的timestamp
 SQL> create table yallonking_zone(id number,my_time timestamp(9) with time zone);
 Table created.
 SQL> insert into yallonking_zone values(1,sysdate);
 1 row created.
 SQL> insert into yallonking_zone values(2,systimestamp);
 1 row created.
 SQL> select * from yallonking_zone;
 ID MY_TIME
 -- ---------------------------------------------------------------------------
 1 16-3月 -12 09.48.00.000000000 上午 +08:00
 2 16-3月 -12 09.48.08.692798000 上午 +08:00
 此处可见,timestamp数据类型显示的当前时间是比UTC(通用协调时间)迟8个小时。
 
 2、不带时区的timestamp
 SQL> create table yallonking(id number,my_time timestamp);
 Table created.
 SQL> insert into yallonking values(1,sysdate);
 1 row created.
 SQL> insert into yallonking values(2,systimestamp);
 1 row created.
 SQL> select * from yallonking;
 ID MY_TIME
 -- ---------------------------------------------------------------------------
 1 16-3月 -12 09.47.12.000000 上午
 2 16-3月 -12 09.47.21.559822 上午
   
 此处可见,timestamp数据类型默认是秒之后6位小数。
 
 3、timestamp与oracle日期函数相关
 SQL> select to_char(add_months(last_day(max(least(my_time))),1),'yyyy/mm/dd hh24:mi:ss') as my_time_new from yallonking_zone;
 MY_TIME_NEW
 ---------------------------------------------------------------------------
 2012/04/30 09:48:08
 
 由此可见,timestamp和常用的date类型一样,同样可以灵活使用oracle的日期函数。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26143577/viewspace-718732/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26143577/viewspace-718732/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值