TIMESTAMP是支持小数秒,对秒的精确度更高。
SQL> SELECT sysdate,systimestamp FROM dual
to_char函数支持date和timestamp
SELECT sysdate,systimestamp,to_char(systimestamp,'yyyy/mm/dd hh24:mi:ssxff3') FROM dual
语法格式
TIMESTAMP(n)
N的取值为0~9。
表示指定TIMESTAMP中秒的小数位数。
N为可选。如果n为0,timestamp与date等价。
演示
SQL>create table test_timestamp(col_date date, col_timestamp timestamp(0));
SQL> insert into test_timestamp values(sysdate,systimestamp);
SQL> select to_char(col_date, 'yyyy-mm-dd hh24:mi:ss'),dump(col_date)
from test_timestamp;
SQL> create table test_timestamp1 (col_date date, col_timestamp timestamp(9));
SQL> insert into test_timestamp1 values(sysdate, systimestamp);
SQL>select to_char(col_date, 'yyyy-mm-dd hh24:mi:ss'),dump(col_date) from test_timestamp1;
SQL>select to_char(col_timestamp, 'yyyy-mm-dd hh24:mi:ss.ff'),dump(col_timestamp)
from test_timestamp1;
可以看到timestamp(9)占用了11个字节的空间。后面额外的四个字节包括了小数秒数。即毫秒。