ORA-01810:格式代码出现两次

这篇具有很好参考价值的文章主要介绍了ORA-01810:格式代码出现两次。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天算自己加班时间的时候,报了个这个错误:

错误语句段:

select
    to_number(to_date('2022-11-01 19:30:00','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-01 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-03 21:50:36','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-03 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-04 17:34:15','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-04 17:00:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-08 20:00:00','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-08 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-10 20:32:27','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-10 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-14 19:44:00','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-14 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24+
    to_number(to_date('2022-11-15 19:41:00','yyyy-MM-dd HH:mm:ss')-to_date('2022-11-15 17:30:00','yyyy-MM-dd HH24:mm:ss'))*24 加班时间
from dual

正确语句段:

select
    to_number(to_date('2022-11-01 19:30:00','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-01 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-03 21:50:36','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-03 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-04 17:34:15','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-04 17:00:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-08 20:00:00','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-08 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-10 20:32:27','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-10 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-14 19:44:00','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-14 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24+
    to_number(to_date('2022-11-15 19:41:00','yyyy-MM-dd HH24:mi:ss')-to_date('2022-11-15 17:30:00','yyyy-MM-dd HH24:mi:ss'))*24 加班时间
from dual

分析如下:

        1:ORA-01810: 格式代码出现两次,这个错误提示明显的指出是格式化字符串重复了两次,在Oracle中不应该将某个格式重复两次,否则Oracle就不知道要从哪个占位区间去解析该字段,即使写成AND V.UPLOAD_DATE <=TO_DATE ('2013-11-11 23:59:59', 'YYYY-MM-DD HH:mm:SS')也是不灵的,因为SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用mi来代替分钟。 
        2:当修改为AND V.UPLOAD_DATE <=TO_DATE ('2013-11-11 23:59:59', 'YYYY-MM-DD HH:MI:SS')时又会报ORA-01849: 小时值必须介于 1 和 12 之间,由此可见HH只支持小时数在1-12之间的,要以24小时的形式显示出来时要将HH修改为HH24

        当然要注意时分秒对应的数值范围要在合理的区间内文章来源地址https://www.toymoban.com/news/detail-529142.html

到了这里,关于ORA-01810:格式代码出现两次的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • oracle 连接数据库报错 ORA-12170:TNS 连接超时

    上网尝试了很多方法,网上列举的以下常见方法对于我来说无效,且均正常。 1、先检查网络是否能ping通,下图网络状态是正确的。 2、查看服务器监听服务是否启动 3、cmd -》 tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有

    2023年04月12日
    浏览(44)
  • Oracle数据库ORA-01507: database not mounted解决方法

    连接上安装好的oracle后,执行SQL报ORA-01507: database not mounted错误,根据百度ORA-01507: database not mounted的解决办法,问题解决了,下面详细介绍一下这个方法: 执行sql命令: shutdown ,并退出sqlplus /oracle/SHP/11204/是本例的oracle的家目录,要根据自身安装目录做修改 语句为 fuser -u l

    2024年02月16日
    浏览(43)
  • Oracle的PDB数据库创建DIRECTORY时遇到ORA-65254

    在Oracle 19c多租户环境的PDB数据库下面创建一个DIRECTORY时,遇到了“ORA-65254: invalid path specified for the directory”,下面简单演示一下所遇到的这个案例 如上所示,数据库提示,出现这个错误的原因在于创建PDB的语句中指定了PATH_PREFIX参数,创建目录DIRECTORY时只能使用相对路径,而

    2024年02月08日
    浏览(52)
  • 重启Linux服务器 Oracle 数据库步骤 重启数据库startup 报ORA-01031 insufficient privileges错误解决

    在一次重启数据库的时候,没有正确按照步骤重启数据库,导致服务器重启。 正确步骤及详解: (1) su - oracle 打开Xshell,连接到数据库所在的linux机器。若用户为root,请输入命令“su - oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。 检测方法:“#”变

    2024年02月15日
    浏览(67)
  • oracle19cPDB数据库连不上,提示ORA-01109: database not open

    今天尝试创建了一个RAC环境的PDB数据库,在本地执行alter pluggable database pdb01 open 成功了,但是使用上去了plus连接还是连接不上,提示错误如下: 依次检查配置: 1.手工启动pdb数据库 2.在Oracle用户下的tnsnames.ora文件添加了监听: 3.重启grid用户下的监听 发现问题依然存在,后来

    2024年02月05日
    浏览(65)
  • PLS-00172 string literal too long ORA-06550 字段太长插入不进去数据库

    String literal too long 数据库报这个错,一般是由于插入的字段过长导致。我们一般可以用以下的方法解决: 将长的内容分段,即可解决,数据长将数据插入不进去的问题。

    2024年02月07日
    浏览(45)
  • Oracle数据库启动时:ORA-00119: invalid specification for system parameter LOCAL_LISTENER;

    💌 所属专栏:【程序错误解决方法(建议收藏)】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,

    2024年02月05日
    浏览(37)
  • Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库文件导致)解决方法

    先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcle DBF数据文件后无法进入系统,plsql登录报错如下: 一般情况下,删除表空间的正确方法是: DROP TABLESPACE BDCDJ INCLUDING CONTENTS AND DATAFILES; 如果没有通过以上命令删除而直接删

    2024年02月02日
    浏览(68)
  • 附加数据库SQL出现,错误:5120/5123,数据库拒绝访问

    解决方法: 数据库切换Windows登录,sa没有权限,登录附加就好了!!!

    2024年02月12日
    浏览(76)
  • 数据库数据恢复-Oracle数据库文件出现坏块的数据恢复案例

    Oracle数据库故障初检分析: 打开Oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。用户急需恢复zxfg用户下的数据。 出现上述报错的可能原因包括:控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。 北亚企安数据

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包