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)
时间: 2024-08-27 00:56:34

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

Oracle sql 错误 : ORA-01861: 文字与格式字符串不匹配和日期与字符串互转问题解决

正确的要这样的: public int update(String ceratedate); <update id="update" parameterType="String"> update table set ceratedate=to_date(#{ceratedate},'yyyy-mm-dd'); </update> 运行 OK 没有问题 那我们查询时,如何将时间格式转换成字符串呢?要用到to_char()函数 Date格式转换成

java.sql.SQLException:ORA-01861:文字和格式字符串不匹配

1.错误描述 java.sql.SQLException:ORA-01861:文字和格式字符串不匹配 2.错误原因 字段名为statis_date在数据库中存储的数据类型是Date,而在Java中拼接SQL语句时传参数却是字符串类型,类型不匹配,导致出错 3.解决办法 (1)修改数据库中该字段的数据类型 这种方法不太建议 (2)修改拼接时传参数方式,将参数利用to_date转换

HTML报表日期格式不对 导致报错ORA-01861: 文字与格式字符串不匹配

PROCEDURE MAIN(ERRBUF OUT VARCHAR2, RETCODE OUT VARCHAR2, P_CUSTOMER_ID IN VARCHAR2, P_PERSON_ID IN VARCHAR2, P_MAKER_ID IN VARCHAR2, P_START_DATE IN VARCHAR2, --这里为字符格式 P_END_DATE IN VARCHAR2 --这里为字符格式 ) IS l_contract_date_from DATE; -- 合同日期至 l_cont

android如何改变editText控件中部分文字的格式

我们在使用editText控件的时候,会遇到这样的一问题,就是我在输入时候,当我选择让文字变粗时,我输入的文字就会变粗,当我去掉选择时,再输入文字时,文字就是正常情况了. 这种情况,大家一般认为很简单啊.editText中不是有setTypeface这个方法吗.只要使用edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));就可以了.可是问题来了.这种方法,是将editText中所有的文字的格式全变了.可是我想要的格式是

oracle 中,日期和数字字符串的格式化

select SYSDATE from dual t;--系统日期 select TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS') from dual t;--格式化日期 select TO_DATE('20140630 18:28:20','YYYY/MM/DD HH24:MI:SS') from dual t;--格式化日期 select sysdate,sysdate - interval '7' MINUTE from dual;--当前时间减去7分钟的时

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte

【在网页中添加滚动文字】

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <tit

oracle trunc 函数处理日期格式

oracle trunc 函数处理日期格式 select TRUNC(LAST_DAY(SYSDATE))+29+20/24 from dual--下个月的某一天几点几分 2015/11/29 20:00:00 select add_months(TRUNC(SYSDATE,'mm'),1)+5/24 from dual--下个月1号的几点2015/11/1 5:00:00 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  -

C# 将XML格式字符串,写入数据集的表中 XML解析

将XML格式字符串,写入数据集的表1中 命名空间:using System.Xml; string strRead;//strRead为以下xml值 XmlDocument xd = new XmlDocument(); xd.LoadXml(strRead); XmlNodeList nodeList = xd.SelectSingleNode("root").ChildNodes;//获取bookstore节点的所有子节点 foreach (XmlNode xn in nodeLi