我需要在 Oracle 的表中插入一些数据。
唯一的问题是其中一个字段是时间戳(6)类型,它是必需的数据。我不关心这里实际发生了什么,我只需要为条目获取正确的语法,以便数据库接受它。
我正在使用 gui Web 客户端输入数据,但如果必须,我不介意使用原始 SQL。
谢谢。
我不知道这是否有帮助,但在 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 ;
使用to_timestamp()
是一种选择。另一个是这样做的:
INSERT INTO table VALUES (timestamp'2009-09-09 09:30:25 CET');
这里有几个对我有用的不同的 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')
insert into x values(to_timestamp('22:20:00','hh24:mi'));