0

TIMESTAMP我的Oracle 数据库中有一个类型为列。列default值为SYSTIMESTAMP

我想SELECT 毫秒 FROMTIMESTAMP 列。我使用下面的查询没有成功:

SELECT TO_CHAR (MY_TIMESTAMP, 'dd-mm-yyyy hh24:mi:ss.FF') AS MY_TIMESTAMP
FROM MY_TABLE

-- Result: 20-12-2015 15:23:28.

如您所见,结果没有任何毫秒,它是空的。如果我用 then 更改查询.FF4结果.0000

如何以毫秒选择列?

4

1 回答 1

1

时间戳列的精度可以设置为

TIMESTAMP [(fractional_seconds_precision)].

在你的情况下 4 它是:

create table my_table
(id number,
  my_TIMESTAMP timestamp(4) default SYSTIMESTAMP);

您可以通过以下方式检查当前精度:

select column_name, data_scale from user_tab_columns 
where table_name = 'MY_TABLE' and column_name = 'MY_TIMESTAMP';

这是SQL Fiddle中的示例

可以通过以下方式更改显示:

 alter session set NLS_TIMESTAMP_FORMAT = 'DD-MON-RRRR HH:MI:SS.FF9';
于 2015-12-20T14:06:15.160 回答