sql >> Databasteknik >  >> RDS >> Oracle

Anropsprocedur från orakel till kristallrapport

en möjlighet är att in_year inte skickas in av Crystal eller skickas in som NULL.

vänligen verifiera detta. du kan lägga till den här koden som en snabb kontroll:

  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');

vilket fel ger det?

som om året var null, skulle vi få det här felet:

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. Finns det något sätt att lagra Unicode-text i en Oracle-databas konfigurerad som 'US7ASCII'

  2. I Spring Boot 2, är det möjligt att automatiskt generera en JoinTable med en unik begränsning?

  3. Varför skulle Where 1 <> 1 i en fråga returnera alla rader?

  4. Räknar flera rader i MySQL i en fråga