Oracle ORA-01861: 文字与格式字符串不匹配

本文介绍了在Oracle数据库中创建表时遇到ORA-01861错误的问题,该错误是由于时间默认值格式不匹配导致的。通过将默认时间值用to_date函数转换并指定日期格式,如`to_date('1980/01/01 00:00:00','yyyy-mm-dd hh24:mi:ss')`,解决了问题,成功创建了表。
摘要由CSDN通过智能技术生成

今天用oracle创建一个表的时候报错:Oracle ORA-01861: 文字与格式字符串不匹配

在这里插入图片描述
仔细检查了一下创表语句,并没有发现语法错误:

--创建t_device表
create table t_device(
       id number(20),
       device_code varchar2(60) default('') not null,--设备编码
       device_name varchar2(60) default('') not null,--设备名称
       gw_dev_code varchar2(60) default('') not null,--如果是子设备,关联的网关设备编码
       product_code varchar2(60) default('') not null,--所属的产品编码
       del_flag number(11) default(0) not null,
       enable_status number(11) default(0) not null,--0:未启用 1:启用
       active_status number(11) default(0) not null,--0:未启用 1:启用
       last_online_time date default('1980/01/01 00:00:00') not null,--最近一次上线时间
       create_time date default(sysdate) not null,--创建时间
       update_time date default(sysdate) not null,--最后更新时间
       device_secret varchar2(60) default('') not null,--设备密钥
       firmware_version varchar2(60) default('') not null,--固件版本
       dev_host varchar2(20) default('') not null,--最近一次上线主机地址
       dev_port number(11) default(0) not null,--最近一次上线端口
       constraint pk_t_device primary key(id),--设置主键
       constraint uq_device_code unique(device_code)--唯一约束
);

百度一下说是时间类型的默认值需要用to_date函数转换一下,并指定日期格式。如果直接按照字符串方式,或者直接使用to_date('1980/01/01 00:00:00'),没有指定日期格式,就会导致你插入的时间格式和数据库现有的时间格式不一致。

--创建t_device表
create table t_device(
       id number(20),
       device_code varchar2(60) default('') not null,--设备编码
       device_name varchar2(60) default('') not null,--设备名称
       gw_dev_code varchar2(60) default('') not null,--如果是子设备,关联的网关设备编码
       product_code varchar2(60) default('') not null,--所属的产品编码
       del_flag number(11) default(0) not null,
       enable_status number(11) default(0) not null,--0:未启用 1:启用
       active_status number(11) default(0) not null,--0:未启用 1:启用
       last_online_time date default(to_date('1980/01/01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) not null,--最近一次上线时间
       create_time date default(sysdate) not null,--创建时间
       update_time date default(sysdate) not null,--最后更新时间
       device_secret varchar2(60) default('') not null,--设备密钥
       firmware_version varchar2(60) default('') not null,--固件版本
       dev_host varchar2(20) default('') not null,--最近一次上线主机地址
       dev_port number(11) default(0) not null,--最近一次上线端口
       constraint pk_t_device primary key(id),--设置主键
       constraint uq_device_code unique(device_code)--唯一约束
);

修改之后创建成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谦谦均

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值