Oracle添加数据报文字与格式字符串不匹配错误

Oracle添加数据报文字与格式字符串不匹配错误

今天在学习Oracle时碰到一个错:文字与格式字符串不匹配。

我在Oracle数据库中创建了一张表:

--创建员工表employee
create table employee
(
   empon number(4) not null,--员工编号
   ename varchar2(10),--员工姓名
   job varchar2(9),--员工工种
   mgr number(4),--上级经理编号
   hiredate date,--受雇日期
   sal number(7,2),--员工薪水
   comm number(7,2),--福利
   deptno number(2)--部门
  );

然后我想通过代码的方式向这张员工表中插入一条数据,我想这应该很简单吧,不就是一条insert语句吗。

于是我是这样写的:

insert into employee values(1237,'李四','未知',1223,'2016-7-30 13:07:24',7000,400,5)

但是写完过后,一执行就一直报这个错,好烧脑,最后终于找到解决方案了。

解释:

向oracle表插入时间格式的数据是一个相对来讲比较麻烦的事情,要么你严格遵从当前会话的时间格式书写你的时间值,要么使用转换函数自定义时间数据的格式。

有两个与时间相关的转换函数:to_char 和 to_date . to_char(时间值,时间格式)函数将时间值转换为字符串形式,通常在查询中使用;to_date(字符串,时间格式)

则把格式字符串转换时间值,通常在insert 语句中使用。

所以我们把sql语句改成这样就完美的解决了问题:

insert into employee values(1237,'李四','未知',1223,to_date('2016-7-30 13:07:24','yyyy/mm/dd HH24:MI:SS'),7000,400,5)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值