oracle如何插入日期和时间?

Posted

技术标签:

【中文标题】oracle如何插入日期和时间?【英文标题】:how to insert date and time in oracle? 【发布时间】:2011-09-24 02:36:47 【问题描述】:

我无法在我的表中插入一行。这是插入语句和表创建。这是 uni 作业的一部分,因此很简单,我做错了什么?我正在使用 oracle SQL 开发者版本 3.0.04。'

我遇到的问题是它只插入 dd/mon/yy 而不是时间。我如何让它也插入时间?

INSERT INTO WORKON (STAFFNO,CAMPAIGNTITLE,DATETIME,HOURS)
VALUES ('102','Machanic Summer Savings',TO_DATE('22/April/2011 8:30:00AM','DD/MON/YY HH:MI:SSAM'),'3')
;

CREATE TABLE WorkOn
(
    StaffNo        NCHAR(4),
    CampaignTitle  VARCHAR(50),
    DateTime       DATE,
    Hours          VARCHAR(2)
)
;

感谢您的帮助。

编辑:这是没有意义的,我只在字段中输入一个时间来测试时间是否有效,它会输出一个日期 WTF?这真的很奇怪,我可能不使用日期字段而只输入时间,我意识到这会导致处理数据出现问题,但这没有任何意义......

【问题讨论】:

也分享您的表定义 - DESC WORKON 【参考方案1】:

你可以使用

insert into table_name
(date_field)
values
(TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss'));

希望对你有帮助。

【讨论】:

【参考方案2】:

您可以通过使用 to_date 函数并指定时间来正确处理所有事情。时间在数据库中。问题是当您从数据库中选择 DATE 数据类型的列时,默认格式掩码不显示时间。如果你发出一个

alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss'

或包含时间组件的类似内容,您将看到时间已成功进入数据库。

【讨论】:

omg 谢谢你,只是最后一期,它为所有日期格式的列设置格式,从而为我只希望显示日期的列显示时间。是否可以为特定表指定它? 那么您必须在您的选择语句中指定日期格式掩码。像“select to_char(datetime,'dd-mm-yyyy hh24:mi:ss') datetime from workon”。 这个“alter session”命令是天赐之物(我是一个完整的 Oracle 新手)。谢谢罗伯。【参考方案3】:

试试这个:

...(to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));

【讨论】:

抱歉,我打错字了,请再试一次。 嗨它仍然不起作用,它只插入日期部分并忽略时间。如果我只输入一个时间,那么它只会将其转换为日期...... mysql 对我来说比 oracle 更有意义...... 您确定该字段是 DateTime 字段吗?现在听起来就像它只是一个日期字段。执行此操作以查看:DESC WORKON【参考方案4】:

只需使用TO_DATE() 函数将字符串转换为DATE

例如:

create table Customer(
       CustId int primary key,
       CustName varchar(20),
       DOB date);

insert into Customer values(1,'Vishnu', TO_DATE('1994/12/16 12:00:00', 'yyyy/mm/dd hh:mi:ss'));

【讨论】:

【参考方案5】:
create table Customer(
       CustId int primary key,
       CustName varchar(20),
       DOB date);

insert into Customer values(1,'kingle', TO_DATE('1994-12-16 12:00:00', 'yyyy-MM-dd hh:mi:ss'));

【讨论】:

请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常质量更高,更有可能吸引投票。

以上是关于oracle如何插入日期和时间?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 Oracle 数据库中正确插入日期时间? [复制]

在oracle 10g sql plus中将日期和时间插入时间戳

使用字符串变量将自定义日期和当前时间插入 Oracle 数据库

如何将iso-8601类型的日期插入oracle数据库

在Oracle使用sql语句中如何插入日期格式的数据