我写了下面的代码,但它似乎只插入当前日期而不是当前时间。任何人都知道如何做到这一点?在Oracle SQL中:如何将当前日期和时间插入到表中?
insert into errortable
(dateupdated,table1id)
values
(TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'),1083);
我写了下面的代码,但它似乎只插入当前日期而不是当前时间。任何人都知道如何做到这一点?在Oracle SQL中:如何将当前日期和时间插入到表中?
insert into errortable
(dateupdated,table1id)
values
(TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'),1083);
它似乎只是因为这是它打印出来。但实际上,你不应该这样写逻辑。这相当于:
insert into errortable (dateupdated, table1id)
values (sysdate, 1083);
将系统日期转换为字符串以将其转换回日期似乎很愚蠢。
如果你想看到完整的日期,那么你可以做:
select TO_CHAR(dateupdated, 'YYYY-MM-DD HH24:MI:SS'), table1id
from errortable;
谢谢@gordon。你说sysdate insert应该使用你的方法存储当前日期和当前时间吗? – Tikkaty
@Tikkaty。 。 。是的,'sysdate'有一个时间组件。 –
你可以试试下面的查询:
INSERT INTO errortable (dateupdated,table1id)
VALUES (to_date(to_char(sysdate,'dd/mon/yyyy hh24:mi:ss'), 'dd/mm/yyyy hh24:mi:ss'),1083);
要查看它的结果:
SELECT to_char(hire_dateupdated, 'dd/mm/yyyy hh24:mi:ss')
FROM errortable
WHERE table1id = 1083;
将sysdate转换为字符串然后返回日期没有意义 – miracle173
你怎么知道它只能插入当前日期?你是通过查看原始表还是尝试使用查询来查看它? – brenners1302
是的,它存储00:00时间;我通过查看表格进行确认。想要存储当前日期和当前时间 – Tikkaty
线索:在Oracle中,当前日期+时间=系统日期。 '从双选择sysdate会产生2015-10-05 09:24:40'。 – RubahMalam