sql >> Database >  >> RDS >> Oracle

Oproepprocedure van orakel naar kristalrapport

een mogelijkheid is dat in_year niet wordt doorgegeven door Crystal of wordt doorgegeven als NULL.

verifieer dit alstublieft. u kunt deze code als een snelle controle toevoegen:

  if (trim(in_year) is null) or length(in_year != 4))
  then
    raise_application_error(-20000, 'year is invalid: '  || in_year);
  end if;
 inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');

welke fout geeft dat?

alsof het jaar nul was, zouden we die fout krijgen:

SQL> declare
  2    inv_date DATE;
  3     in_year varchar2(42) ;
  4  begin
  5   inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');
  6  end;
  7  /
declare
*
ERROR at line 1:
ORA-01850: hour must be between 0 and 23
ORA-06512: at line 5


  1. MySQL CSV-import - datum ingevoerd als 0000-00-00 00:00:00 als tijdstempel milliseconden heeft?

  2. Wat is het equivalent van SQL Server APPLY in Oracle?

  3. Voortschrijdend gemiddelde - MySQL

  4. Rails met in het geheugen database