如何在oracle中将文本插入日期字段

时间:2011-08-22 13:32:17

标签: oracle

如何在Oracle中提交(文本)时间:09:44:02和日期:11/09/2007

我在oracle中有字段Tdate(日期)和Ttime(日期)

提前致谢

3 个答案:

答案 0 :(得分:4)

由于日期是一个时间点,您实际上应该只使用一个字段:

insert into your_table (dt) 
   values (to_date ('11/09/2007 09:44:02', 'dd/mm/yyyy hh24:mi:ss'));

由于您的模型包含两列,您可以使用:

insert into your_table (Tdate, Ttime)
   values (to_date('11/09/2007', 'dd/mm/yyyy'),
           to_date ('09:44:02', 'hh24:mi:ss'));

但请注意,默认情况下,您的Ttime列将包含日期信息,因为您不能只存储时间组件,因此可能是错误的/不相关的:

SQL> select to_char(tdate), to_char(ttime) from your_table;

TO_CHAR(TDATE)      TO_CHAR(TTIME)
------------------- -------------------
11/09/2007 00:00:00 01/08/2011 09:44:02

答案 1 :(得分:1)

INSERT INTO <table>
(date_column)
VALUES
(TO_DATE(tdate||' '||ttime, 'DD/MM/YYYY HH24:MI:SS'))
/

如果是PL / SQL

DECLARE
   v_date_field DATE;
BEGIN
   v_date_field := TO_DATE(tdate||' '||ttime, 'DD/MM/YYYY HH24:MI:SS');
   --
   INSERT INTO <table>
   (date_column)
   VALUES
   (v_date_field);
END;
/

不要忘记事后提交: - )

答案 2 :(得分:0)

insert into tablename(tdate) 
values(to_date('11/09/2007 09:44:02','dd/mm/yyyy hh24:mi:ss'))