Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Data sprawdzenia PL/SQL jest prawidłowa

Możesz napisać funkcję taką jak ta, na przykład:

create or replace function is_valid(p_val in varchar2)
return number
is
  not_a_valid_day   exception;
  not_a_valid_month exception;
  pragma exception_init(not_a_valid_day, -1847);
  pragma exception_init(not_a_valid_month, -1843);
  l_date date;
begin
  l_date := to_date(p_val, 'ddmm');
  return 1;
exception
  when not_a_valid_day or not_a_valid_month
  then return 0;
end;



SQL> with test_dates(dt) as(
  2    select '0208' from dual union all
  3    select '3209' from dual union all
  4    select '0113' from dual
  5  )
  6  select dt, is_valid(dt) as valid
  7    from test_dates
  8  /

DT        VALID
---- ----------
0208          1
3209          0
0113          0


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. używanie lub w klauzuli where dla problemu z kolumną typu daty w porównaniu z sysdate w Oracle

  2. Unikaj wstawiania wartości wykładniczej w kolumnie DB Float

  3. Konwertuj każdy znak w ciągu na wiersz

  4. Zaktualizuj zestawienie za pomocą vb.net, aby zaktualizować wszystkie pola

  5. Ustawienie Oracle na domyślny schemat użytkownika (bez zmiany sesji)