首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Java调用oracle数据库时,TO_DATE ('01/01/1980','dd/mm/yyyy')不工作

从Java调用Oracle数据库时,TO_DATE('01/01/1980', 'dd/mm/yyyy')不工作的原因可能是日期格式不匹配。在Oracle数据库中,日期格式的表示方式是根据数据库的NLS_DATE_FORMAT参数来确定的。如果Java程序中使用的日期格式与数据库中的NLS_DATE_FORMAT参数不一致,就会导致TO_DATE函数无法正确解析日期字符串。

解决这个问题的方法有两种:

  1. 修改Java程序中的日期格式:可以将日期字符串格式修改为与数据库中的NLS_DATE_FORMAT参数一致的格式。例如,如果数据库中的NLS_DATE_FORMAT参数为'DD/MM/YYYY',则可以将Java程序中的日期字符串改为'01/01/1980'。
  2. 修改数据库的NLS_DATE_FORMAT参数:可以通过修改数据库的NLS_DATE_FORMAT参数来使其与Java程序中的日期格式一致。可以使用以下SQL语句修改NLS_DATE_FORMAT参数:
  3. 修改数据库的NLS_DATE_FORMAT参数:可以通过修改数据库的NLS_DATE_FORMAT参数来使其与Java程序中的日期格式一致。可以使用以下SQL语句修改NLS_DATE_FORMAT参数:
  4. 这样,当Java程序调用TO_DATE函数时,日期字符串将会按照指定的格式进行解析。

需要注意的是,修改NLS_DATE_FORMAT参数可能会影响到其他依赖于该参数的数据库操作,因此在修改之前需要谨慎考虑。

推荐的腾讯云相关产品:腾讯云数据库(TencentDB)

腾讯云数据库(TencentDB)是腾讯云提供的一种高性能、可扩展、安全可靠的云数据库服务。它支持多种数据库引擎,包括MySQL、SQL Server、PostgreSQL、MongoDB等,可以满足不同业务场景的需求。

产品介绍链接地址:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

matinal:Oracleto_date()

Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法 to_date()与24小制表示法及mm分钟的显示:...一、在使用Oracleto_date函数来做日期转换,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810...to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') 原因是SQL中区分大小写,MMmm被认为是相同的格式代码,所以Oracle的SQL采用了...to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') 二、另要以24小的形式显示出来要用HH24 to_date(sysdate,'yyyy-MM-dd...HH24:mi:ss') //mi是分钟 to_date(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份  oracle中的to_date参数含义

21520

Oracle的解惑一二to_date()与24小制表示法及mm分钟的显示

阅读更多 Oracle的解惑一二to_date()与24小制表示法及mm分钟的显示: 一、在使用Oracleto_date函数来做日期转换,很多Java程序员也许会和我一样,直觉的采用“yyyy-MM-dd...HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。...如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual; 原因是SQL中区分大小写,MMmm被认为是相同的格式代码...select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual; 二、另要以24小的形式显示出来要用HH24 select...to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟 select to_char(sysdate,'yyyy-MM-dd HH24:mm

1.1K10
  • mysql插入日期 vs oracle插入日期

    今天做oracle日期插入的时候突然开始疑惑日期是如何插入的。 用框架久了,反而不自己做简单的工作了。比如插入。...('2015-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss')); 7 insert into person(name,birth) values('hehe',to_date...('2015-01-01','yyyy-MM-dd')); 2.使用jdbc连接oraclejava需使用java.sql类的时间类: 1 Person person = getModel(Person.class...当然,也可以使用to_date():  可惜jfinal封装的model不可以使用,但是只要格式匹配,发现jfinal是可以直接存储,只要字段格式为:yyyy-MM-dd hh:mm:ss,例如2015...9 yyyy:四位年份 10 yyy,yy,y:年份的最后三位,两位,一位 11 hh: 小时,按12小计 12 hh24:小时,按24小计 13 mi:分 14 ss:秒 15 mm:月 16

    7.4K90

    oracle的todate函数的日期格式_oracle limit的用法

    oracleto_date函数格式 to_date()是Oracle数据库函数的代表函数之一,下文对Oracleto_date()函数的几种用法作了具体的介绍阐明,需要的朋友可以参阅下 在Oracle数据库中...to_date()与24小制表明法及mm分钟的显现: 一、在运用Oracleto_date函数来做日期转化时,许多Java程序员也许会直接的采用”yyyy-MM-ddHH:mm:ss”的格局作为格局进行转化...selectto_date(‘2005-01-0113:14:20′,’yyyy-MM-ddHH24:mm:ss’)fromdual; 如: 原因是SQL中区别大小写,MMmm被认为是相同的格局代码...selectto_date(‘2005-01-0113:14:20′,’yyyy-MM-ddHH24:mi:ss’)fromdual; 二、另要以24小的方式显现出来要用HH24 selectto_char...;//mm会显现月份 oracle中的to_date参数意义 1.日期格局参数意义阐明 D一周中的星期几 DAY天的名字,运用空格填充到9个字符 DD月中的第几天 DDD年中的第几天 DY天的简写名 IWISO

    7.2K40

    Oracle中日期字段未定义日期类型的案例一则

    但是有时候,出于某些考虑,例如异构数据库同步避免字段类型的差异,就会将日期字段定义为字符串类型,虽然满足了这个需求,但可能对其他方面的使用带来了不便,如下例子,就是最近某个Oracle技术群中提出的问题...('2022-01','yyyy-mm')), PARTITION p2 VALUES less than (to_date('2022-02','yyyy-mm')), PARTITION p3...(1, to_date('2022-02-01','yyyy-mm-dd')); 但是当插入范围内月份的其他天,就会提示报错,"SQL 错误 [14400] [72000]: ORA-14400: 插入的分区关键字未映射到任何分区...1, to_date('2022-01-01','yyyy-mm-dd')); INSERT INTO customer2 values(1, to_date('2022-02-01','yyyy-mm-dd...to_date('2022-03','yyyy-mm')) ); 但是给开发带来一个问题,如果插入时,指定除虚拟列外其他的列,就会提示错误,因为少了虚拟列的值, SQL> insert into customer3

    1.4K50

    Oracle中日期字段未定义日期类型的案例一则

    但是有时候,出于某些考虑,例如异构数据库同步避免字段类型的差异,就会将日期字段定义为字符串类型,虽然满足了这个需求,但可能对其他方面的使用带来了不便,如下例子,就是最近某个Oracle技术群中提出的问题...('2022-01','yyyy-mm')), PARTITION p2 VALUES less than (to_date('2022-02','yyyy-mm')), PARTITION p3...(1, to_date('2022-02-01','yyyy-mm-dd')); 但是当插入范围内月份的其他天,就会提示报错,"SQL 错误 [14400] [72000]: ORA-14400: 插入的分区关键字未映射到任何分区...1, to_date('2022-01-01','yyyy-mm-dd')); INSERT INTO customer2 values(1, to_date('2022-02-01','yyyy-mm-dd...to_date('2022-03','yyyy-mm')) ); 但是给开发带来一个问题,如果插入时,指定除虚拟列外其他的列,就会提示错误,因为少了虚拟列的值, SQL> insert into customer3

    3.4K40

    EDB和Oracle在分区剪裁实践上的一点差别

    ('2015-11-01', 'yyyy-mm-dd') and bag_id = 1 发现并没有使用到分区剪裁: ?...但执行的查询语句条件是: where bp_flight_date=to_date('2015-11-01', 'yyyy-mm-dd') and bag_id = 1 对日期值是使用了to_date函数...接下来按照猜想改下查询条件: explain select * from test where bp_flight_date='2015-11-01', 'yyyy-mm-dd' and bag_id...那么像EDB这样创建一个不用to_date函数的分区表: ? 直接报错了,提示字段类型匹配,无法创建表。这也说明了在日期字段类型上,EDB和Oracle的一点不同。 总结: 1....EDB对使用分区键的查询语句,如果日期条件的格式和分区规则中不同,例如分区规则是’2015-NOV-01’或’2015-11-01’,但查询条件使用to_date(‘2015-11-01’,’yyyy-mm-dd

    56850
    领券