当前位置: 首页 > article >正文

oarcle执行报错提示:SQL 错误 [1839] [22008]: ORA-01839: 指定月份的日期无效问题解决

分享个有趣的sql错误排查解决。昨天晚上有厂家反应说我们有个视图查询数据的时候查不完整,有报错,联系我们排查处理。

拿到视图后我自己先试着跑了下,看到后也是纳闷儿

以下是我的处理思路:

既然是提示日期无效,那就从日期相关的字段下手,查看视图创建语句逐个注释执行,定位问题字段

定位到的问题字段

to_char(to_date(m.for_execute_time,'mm-dd hh24:mi'),'hh24:mi') as OEOREExecStTime, --要求执行时间

稍微解释下:这个写法时就是将01-01 08:00转为08:00

那为什么会有这个报错,我也头一回见,既然如此就是用笨办法逐条数据分析

跑到以下时间数据时就可以确定了,闰年的数据格式判断。

SELECT to_char(to_date(m.for_execute_time, 'MM-DD HH24:MI'), 'HH24:MI') as OEOREExecStTime,
 m.for_execute_time, m.*
FROM inpord.order_execute m
JOIN adt.inpatient n ON m.ipid = n.ipid
WHERE m.is_execute <> 'D'
AND n.ipid = '11588150'
and execute_time >='20240201000000'
and execute_time <='20240301000000'

因为m.for_execute_time没有年份,系统无法判断是否闰年,则报了这个错误,那就要改写下这个sql了,挑个带日期的,跟这个字段拼接下,再进行转换

--原sql
to_char(to_date(m.for_execute_time, 'MM-DD HH24:MI'), 'HH24:MI') as OEOREExecStTime
--现sql
to_char(to_date(SUBSTR(m.for_execute_date_time, 1, 8) || ' ' ||SUBSTR(m.for_execute_time, 7, 5), 'YYYYMMDD HH24:MI'), 'HH24:MI') AS OEOREExecStTime

完结撒花🌸


http://www.kler.cn/a/502025.html

相关文章:

  • 前端:前端开发任务分解
  • 【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集
  • 高级java每日一道面试题-2025年01月13日-框架篇[Spring篇]-Spring 是怎么解决循环依赖的?
  • C#调用OpenCvSharp实现图像的开运算和闭运算
  • springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)
  • CSS 盒模型
  • (免费送源码)计算机毕业设计原创定制:Java+ssm+MySQL 在线购票影城
  • 冲击全马330计划
  • Node.js 环境的管理服务工具
  • 一键获取Linux主机配置信息shell脚本,含网卡详情,网卡绑定等
  • 滑动窗口限流算法:基于Redis有序集合的实现与优化
  • Table-Augmented Generation(TAG):Text2SQL与RAG的升级与超越
  • springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)
  • CVE-2025-22777 (CVSS 9.8):WordPress | GiveWP 插件的严重漏洞
  • 【机器学习】Kaggle实战Rossmann商店销售预测(项目背景、数据介绍/加载/合并、特征工程、构建模型、模型预测)
  • 无源器件-电容
  • Docker 安装开源的IT资产管理系统Snipe-IT
  • 高性能计算服务器是指什么?
  • 洛谷 P3853 [TJOI2007] 路标设置 C语言
  • 企业通过私有安全端点访问大型语言模型的益处
  • RNN之:LSTM 长短期记忆模型-结构-理论详解-及实战(Matlab向)
  • 之前手写的两个好用开源组件优化升级
  • 34_Lua概述与环境安装指南
  • 黑马天机学堂学习计划模块
  • js:根据后端返回数据的最大值进行计算然后设置这个最大值为百分之百,其他的值除这个最大值
  • ThreeJs练习——载入外部模型