oracle数据库中过程编写成功,但是测试时报错ORA-01722

以下是我改动后的,你看是否能正确执行:selectcount(t.belongcity)cntfrompolitical_baseinfotwhereto_number(to_char(sysdate,'yyyy'))-to_number(substr(to_char(t.birthdate,'yyyymmdd'),0,4))>=0andto_number(to_char(sysdate,'yyyy'))-to_number(substr(to_char(t.birthdate,'yyyymmdd')...
oracle数据库中过程编写成功,但是测试时报错ORA-01722
你的birthday这一列的数据类型是否是日期型,如果是的话那么就不能直接使用to_number这种方式来强制类型转换,而应该像你先前那样使用to_char作为过渡。而如果birthday这一列本身就是字符类型的话,那就要看一下这个日期是以何种方式存储的,例如年份是否安排在前4位,是否使用完整的年。以下是我改动后的,你看是否能正确执行:selectcount(t.belongcity)cntfrompolitical_baseinfotwhereto_number(to_char(sysdate,'yyyy'))-to_number(substr(to_char(t.birthdate,'yyyymmdd'),0,4))>=0andto_number(to_char(sysdate,'yyyy'))-to_number(substr(to_char(t.birthdate,'yyyymmdd'),0,4))<=40groupbyt.belongcity;2017-09-19
mengvlog 阅读 7 次 更新于 2025-07-21 08:46:19 我来答关注问题0
  •  阿暄生活 oracle中写过程用if区分三种情况

    在Oracle数据库中编写过程时,可以使用if语句来区分不同的情况。例如,通过比较城市ID(city_id)的不同值,可以执行相应的更新操作。下面是一个具体的例子:当city_id等于31时,执行更新操作1;当city_id等于37时,执行更新操作2;对于其他情况,则执行更新操作3。这通过使用if...elseif...else结构...

  •  华源网络 如何在Oracle数据库中使用Java存储过程

    SQL> create or replace directory test_dir as d:\oracle ;目录已创建 SQL> create or replace java class using bfile(test_dir OracleJavaProc CLASS )/ Java 已创建 SQL> create or replace procedure testjavaproc as language java name OracleJavaProc main(java lang String[]) ;/ 过程已...

  •  仙戈雅3n 如何开发ORACLE存储过程

    一。 概述Oracle存储过程开发的要点是:1; 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;2; 在Oracle数据库中创建一个存储过程;3; 在Oracle数据库中使用SQL*Plus工具运行存储过程;4; 在Oracle数据库中修改存储过程;5; 通过编译错误调试存储过程;6; 删除存储过程;二。环境配置包括以...

  • anonymous oracle存储过程如何输出信息

    可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。编写存储过程:create or replace procedure test_pro(in_num number)as M number;begin M := in_num;if 0 < M then dbms_output.put_line('输出SQL语句1');elsif M < 3 then dbms_output.put_line('输出SQL语句2');else dbms_output...

  •  0午夜流浪0 用mybatis做oracle的储存过程

    1.在数据库中创建以下的存储过程:2.编写SQL映射文件WxclDAO.xml: 其中statementType="CALLABLE"表示要调用存储过程,parameterType参数类型;...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部