码迷,mamicode.com
首页 > 数据库 > 详细

Oracle中的TIMESTAMP类型[转]

时间:2014-12-19 11:37:03      阅读:358      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   sp   on   div   log   

原文:http://wangyaobeijing.blog.163.com/blog/static/158330320113276114762/

1
SQL> create table test_time (col_time timestamp); 2 3 表已创建。 4 5 SQL> insert into test_time values (to_timestamp(0001-1-1 0:0:0.0, syyyy-mm-dd hh24:mi:ss.ff)); 6 7 已创建 1 行。 8 9 SQL> insert into test_time values (to_timestamp(2000-1-1 0:0:0.0, syyyy-mm-dd hh24:mi:ss.ff)); 10 11 已创建 1 行。 12 13 SQL> insert into test_time values (to_timestamp(9999-12-31 23:59:59.999999, syyyy-mm-dd hh24:mi:ss.ff)); 14 15 已创建 1 行。 16 17 SQL> insert into test_time values (to_timestamp(-0001-1-1 0:0:0.0, syyyy-mm-dd hh24:mi:ss.ff)); 18 19 已创建 1 行。 20 21 SQL> insert into test_time values (to_timestamp(-0100-3-4 13:2:3.234015, syyyy-mm-dd hh24:mi:ss.ff)); 22 23 已创建 1 行。 24 25 SQL> insert into test_time values (systimestamp); 26 27 已创建 1 行。 28 29 30 SQL> insert into test_time values (to_timestamp(2000-1-1 0:0:0.123456789, syyyy-mm-dd hh24:mi:ss.ff9)); 31 32 已创建 1 行。 33 34 SQL> commit; 35 36 提交完成。 37 38 SQL> select to_char(col_time, syyyy-mm-dd hh24:mi:ss.ff9) time, dump(col_time) dump_time 39 2 from test_time; 40 41 TIME DUMP_TIME 42 ------------------------------ ---------------------------------------------------- 43 0001-01-01 00:00:00.000000000 Typ=180 Len=7: 100,101,1,1,1,1,1 44 2000-01-01 00:00:00.000000000 Typ=180 Len=7: 120,100,1,1,1,1,1 45 9999-12-31 23:59:59.999999000 Typ=180 Len=11: 199,199,12,31,24,60,60,59,154,198,24 46 -0001-01-01 00:00:00.000000000 Typ=180 Len=7: 100,99,1,1,1,1,1 47 -0100-03-04 13:02:03.234015000 Typ=180 Len=11: 99,100,3,4,14,3,4,13,242,201,24 48 2004-12-15 16:14:52.738000000 Typ=180 Len=11: 120,104,12,15,17,15,53,43,252,252,128 49 2000-01-01 00:00:00.123457000 Typ=180 Len=11: 120,100,1,1,1,1,1,7,91,205,232 50 51 已选择7行。 52 53 与DATE类型对比可以发现,对于TIMESTAMP类型,如果不包含微秒信息或者微秒值为0,那么存储结果和DATE完全相同。当微秒值为0时,Oracle为了节省空间,不会保存微秒信息。 54 55 如果毫秒值不为0,Oracle把微秒值当作一个9位数的数字来保存。 56 57 比如999999000,保存为59,154,198,24。234015000保存为13,242,201,24 58 59 SQL> select to_char(999999000, xxxxxxxxxx) from dual; 60 61 TO_CHAR(999 62 ----------- 63 3b9ac618 64 65 SQL> select to_number(3b, xxx) one, to_number(9a, xxx) two, 66 2 to_number(c6, xxx) three, to_number(18, xxx) four from dual; 67 68 ONE TWO THREE FOUR 69 ---------- ---------- ---------- ---------- 70 59 154 198 24 71 72 SQL> select to_char(234015000, xxxxxxxx) from dual; 73 74 TO_CHAR(2 75 --------- 76 df2c918 77 78 SQL> select to_number(d, xxx) one, to_number(f2, xxx) two, 79 2 to_number(c9, xxx) three, to_number(18, xxx) four from dual; 80 81 ONE TWO THREE FOUR 82 ---------- ---------- ---------- ---------- 83 13 242 201 24 84 85 86 87 另外,注意一点,不指定精度的情况下,TIMESTAMP默认取6位。长度超过6位,会四舍五入到6位。如果希望保存9位的TIMESTAMP,必须明确指定精度。 88 89 SQL> alter table test_time modify (col_time timestamp(9)); 90 91 表已更改。 92 93 SQL> insert into test_time values (to_timestamp(2000-1-1 0:0:0.123456789, syyyy-mm-dd hh24:mi:ss.ff9)); 94 95 已创建 1 行。 96 97 SQL> select to_char(col_time, syyyy-mm-dd hh24:mi:ss.ff9) time, dump(col_time) dump_time 98 2 from test_time; 99 100 TIME DUMP_TIME 101 ------------------------------ --------------------------------------------------- 102 0001-01-01 00:00:00.000000000 Typ=180 Len=7: 100,101,1,1,1,1,1 103 2000-01-01 00:00:00.000000000 Typ=180 Len=7: 120,100,1,1,1,1,1 104 9999-12-31 23:59:59.999999000 Typ=180 Len=11: 199,199,12,31,24,60,60,59,154,198,24 105 -0001-01-01 00:00:00.000000000 Typ=180 Len=7: 100,99,1,1,1,1,1 106 -0100-03-04 13:02:03.234015000 Typ=180 Len=11: 99,100,3,4,14,3,4,13,242,201,24 107 2004-12-15 16:14:52.738000000 Typ=180 Len=11: 120,104,12,15,17,15,53,43,252,252,128 108 2000-01-01 00:00:00.123457000 Typ=180 Len=11: 120,100,1,1,1,1,1,7,91,205,232 109 2000-01-01 00:00:00.123456789 Typ=180 Len=11: 120,100,1,1,1,1,1,7,91,205,21 110 已选择8行。

 

Oracle中的TIMESTAMP类型[转]

标签:style   blog   http   ar   color   sp   on   div   log   

原文地址:http://www.cnblogs.com/chuzhen/p/4173294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!