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"?
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