【Oracle】ORA 01810 格式代码出现两次

最近在oracle中完成时间的字符串的拼接并完成格式化的时候出现这个问题,所以及时的是一个整理和记录:
拼接片段如下:
to_char(to_date(t.date_of_manufacture||t.production_time_start,'yyyy-MM-dd HH24:mi:ss'),'yyyy-MM-dd HH24:mi:ss')=#dateOfManufactureStart#
如题的错误就出现在:
'yyyy-MM-dd hh:mm:ss'
'yyyy-MM-dd HH24:mi:ss'

问题分析和解决如下:

一、Oracle中使用to_date()时格式化日期需要注意格式码

如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是sql中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的sql采用了mi代替分钟。
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:ss') from dual;//mm会显示月份

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...