在oracle数据库插入日期时格式不对

sql:
insert into HrmStatusHistory
(resourceid, changedate, oldjobtitleid, changereason, type_n, operator)
values
(365, to_date('2014-07-01', 'YYYY-MM-DD'), 134, 'DML自动更新', 2, 1)

但是通过sql查询这个changedate,显示的却是: 01-7月 -14

是什么问题啊?

在oracle数据库插入日期时格式不对,修改办法如下:

1、使用具有日期和时间格式的表来查询相关数据。

2、查询指定日期(2019/03/04)的数据。 默认值是周期与0点0分开计算。

3、如果要指定开始计算的次数,则上述句点语法将更改为OUT_PROCESS_TIME>TO_DATE('2019/03/04 10:00:00','YYYY/MM/DD HH24/MI/SS')。

4、第一步是找到定义的时间单位

5、在数据库中找到此时间函数的定义。 这是一个参数集。 将使用数据库的相关整数转换。 它通常位于sys_base表中。

6、work_time<14*60/10,这里14表示14点,即下午2点。60是每小时60分钟设置的公共值,即上面sys_base表中的时间值。

按照上述操作,便可以解决该问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-20

1、我们以一个一个带有日期和时间格式的表来进行相关数据查询。

2、查询指定日期(2019/03/04)的数据,默认是这个时期从0点0分开始计算。

3、如果要指定从几点几分开始计算,则讲上面的时间段语法修改为:OUT_PROCESS_TIME>TO_DATE('2019/03/04 10:00:00','YYYY/MM/DD HH24/MI/SS')。

4、首先要找到时间的定义单位。

5、在数据库中找到定义这个时间函数,这里是设置了一个参数,数据库的相关整数转换都会用到。一般会发在sys_base表中了。

6、work_time<14*60/10 这里14表示14时也就是下午两点,60是一小时60分钟10是设定的公共值,也就是前面sys_base表中的时间值。

本回答被网友采纳
第2个回答  推荐于2017-10-10
应该是你的数据库中 changedate不是date类型的,而是varchar类型,所以会有这种错误,把changedate改成date类型,或直接插‘2014-07-01’追问

听你这说,我进去看了下,CHANGEDATE N CHAR(10) 这代表是char类型吧?

但是为什么我在insert后,2014-07-01插入数据库后,数值变成2006了。

追答

2014-07-01要用单引号

本回答被提问者采纳
第3个回答  2014-07-01
这是因为你查询的时候使用的操作系统环境是中文的,要想时间格式显示为英文状态,需要设置session的NLS_DATE_LANGUAGE为english,即
alter system setnls_date_language='ENGLISH';
第4个回答  2014-07-01

我们先不管如果显示,因为可能只是工具显示地有问题,我们通过 where 语句来确认它是否正确?

比如: where changedate between trunc(current_date) - 7 and trunc(current_date) + 1;


让你瞧瞧这个 bug,当格式对不上数据时它JDK并不抛出异常而是给出一个错误的日期呢。观察这个错误,看上去似乎是它看成了 "2014.-0.7-",因此解释成了 2014 年0月7日,这个0月解释成了前一年的12月,也就是2013.12.07 日。


java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyyMMdd");
java.util.Date date = format.parse("2014-07-01");
java.sql.Date ko = new java.sql.Date(date.getTime());
System.out.println("Date :" + ko);


结果显示的是:

Date :2013-12-07

 

因此呢,工具把数据显示出来这个过程可能有问题。就像我们未意识到 SimpleDateFormat.parse 不提醒格式错误一样。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网