0

When importing columns of type "Timestamp" to an Oracle DB:

Import tbl:
02.09.13 00:00:00

After importing:

Oracle tbl:
02.09.13 08:23:44,000000000

In the Oracle tbl the type is also "Timestamp". How can I remove the ",000000000"?

4

1 回答 1

2

TIMESTAMP数据类型包括小数秒;在维护数据类型的同时,无法在数据库中删除它们。如果您不想要小数秒,则将日期放入 DATE 列。

是否存储小数秒无关紧要。当从数据库中选择其他日期数据类型以外的任何内容时,您应该按照客户端显示日期的要求格式化日期。这样做的正常方法是使用函数TO_CHAR();例如:

select to_char(column_name, 'dd.mm.yy hh24:mi:ss') from table_name

您也可以通过更改 NLS 设置在会话级别执行此操作。


与您的问题无关,但要解决对作为时间戳一部分的逗号的评论;默认日期格式由NLS_TERRITORY确定。逗号是在这里使用的完全有效的字符。更改 NLS_TERRITORY,例如更改为 France,它将作为NLS_DATE_FORMAT的一部分出现:

SQL>  alter session set nls_territory = 'FRANCE';

Session altered.

SQL> select systimestamp from dual
  2  ;

SYSTIMESTAMP
------------------------------------------------------------
18/09/13 13:09:54,418387 +01:00
于 2013-09-18T12:16:59.847 回答