Search code examples
oracledate

Valid Date Checks in Oracle


I have a date value (either valid date or invalid date) store in varchar format. Is it possible to check the date is valid or not in sql query.


Solution

  • Yes, if you know the format and with little plsql.

    Let's say you have the date in format 'yyyy-mon-dd hh24:mi:ss'.

    create function test_date(d varchar2) return varchar2
    is
      v_date date;
    begin
      select to_date(d,'yyyy-mon-dd hh24:mi:ss') into v_date from dual;
      return 'Valid';
      exception when others then return 'Invalid';
    end;
    

    Now you can:

    select your_date_col, test_date(your_date_col)
    from your_table;