3

我需要在 Oracle 的表中插入一些数据。

唯一的问题是其中一个字段是时间戳(6)类型,它是必需的数据。我不关心这里实际发生了什么,我只需要为条目获取正确的语法,以便数据库接受它。

我正在使用 gui Web 客户端输入数据,但如果必须,我不介意使用原始 SQL。

谢谢。

4

4 回答 4

11

我不知道这是否有帮助,但在 SQL*Plus 中我这样做了:

create table x ( a timestamp(6));
insert into x values ( current_timestamp );
select * from x;

给我这个:

T
---------------------------------------------------------------------------
15-OCT-08 02.01.25.604309 PM

所以看起来很有效。

如果您需要将先前已知的值放入列中,那么 TO_TIMESTAMP() 函数怎么样?像这样的东西:

select to_timestamp('27/02/2002 15:51.12.539880', 'dd/mm/yyyy hh24:mi.ss.ff') 
from dual ; 
于 2008-10-15T13:04:24.217 回答
5

使用to_timestamp()是一种选择。另一个是这样做的:

INSERT INTO table VALUES (timestamp'2009-09-09 09:30:25 CET');
于 2009-09-09T13:00:09.397 回答
0

这里有几个对我有用的不同的 TO_TIMESTAMP 函数......

此 TO_TIMESTAMP 函数对 TIMESTAMP(6) 类型的列执行 INSERT:

TO_TIMESTAMP('04/14/2015 2:25:55','mm/dd/yyyy hh24:mi.ss.ff')

此 TO_TIMESTAMP 函数对 DATE 类型的列进行 INSERT:

TO_TIMESTAMP('04/15/2015','mm/dd/yyyy')
于 2015-04-15T22:03:17.423 回答
0
insert into x values(to_timestamp('22:20:00','hh24:mi'));
于 2018-05-01T17:26:18.517 回答