Мне нужно проверить, указаны ли даты в таблице в формате ДД-МЕС-ГГГГ, и если это не так, нужно вызвать исключение. Пожалуйста, помогите мне, поскольку я новичок в этом поле.
🤔 А знаете ли вы, что...
Oracle является одним из лидеров в области баз данных в облаке с Oracle Cloud Database.
Как насчет:
to_date(yourDateColumn,'DD-MON-YYYY')
предполагая, что yourDateColumn
- это строка (varchar2
или char
или что-то еще). to_date
выдаст исключение, если дата недействительна.
Если вам действительно нужно использовать if
, вы можете реализовать функцию, которая будет возвращать 1
, если дата действительна, и 0
в противном случае скажет:
function isValidDate(yourDate in varchar2) return number is
tempDate Date;
begin
tempDate := to_date(yourDate,'DD-MON-YYYY');
return 1;
exception when others then
return 0;
end;
А затем используйте функцию в операторе IF
if isValidDate(yourDate in Date)=1 then
--perform some operations
end if;
Однако имейте в виду, что хранить даты в базе данных в качестве «жала» - плохая практика.