WEB开发网
开发学院数据库Oracle Oracle基本数据类型存储格式浅析—日期类型 阅读

Oracle基本数据类型存储格式浅析—日期类型

 2008-12-16 13:05:07 来源:WEB开发网   
核心提示: 已选择7行,与DATE类型对比可以发现,Oracle基本数据类型存储格式浅析—日期类型(4),对于TIMESTAMP类型,如果不包含微秒信息或者微秒值为0,如果希望保存9位的TIMESTAMP,必须明确指定精度,那么存储结果和DATE完全相同,当微秒值为0时

已选择7行。

与DATE类型对比可以发现,对于TIMESTAMP类型,如果不包含微秒信息或者微秒值为0,那么存储结果和DATE完全相同。当微秒值为0时,Oracle为了节省空间,不会保存微秒信息。

如果毫秒值不为0,Oracle把微秒值当作一个9位数的数字来保存。

比如999999000,保存为59,154,198,24。234015000保存为13,242,201,24。

SQL> select to_char(999999000, 'xxxxxxxxxx') from dual;
TO_CHAR(999
-----------
3b9ac618
SQL> select to_number('3b', 'xxx') one, to_number('9a', 'xxx') two,
2 to_number('c6', 'xxx') three, to_number('18', 'xxx') four from dual;
ONE TWO THREE FOUR
---------- ---------- ---------- ----------
59 154 198 24
SQL> select to_char(234015000, 'xxxxxxxx') from dual;
TO_CHAR(2
---------
df2c918
SQL> select to_number('d', 'xxx') one, to_number('f2', 'xxx') two,
2 to_number('c9', 'xxx') three, to_number('18', 'xxx') four from dual;
ONE TWO THREE FOUR
---------- ---------- ---------- ----------
13 242 201 24

另外,注意一点,不指定精度的情况下,TIMESTAMP默认取6位。长度超过6位,会四舍五入到6位。如果希望保存9位的TIMESTAMP,必须明确指定精度。

SQL> alter table test_time modify (col_time timestamp(9));

表已更改。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oracle 基本 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接