Search code examples
oracle-databasevariablesdateplsqldate-conversion

Oracle: date type giving errors


if day < 10 then
  dataV := to_date(((day*1000000) + (month*10000) + year),'d/mm/yyyy');
else
  dataV := to_date(((day*1000000) + (month*10000) + year),'dd/mm/yyyy');
end if;

Guys I'm trying to form a date using only integers by doing this math as I saw in some Oracle forum but it keeps giving me errors because apparently this isn't correct. Any suggestions?


Solution

  • If I understand correctly, one of the following examples should help:

    day:= 1;
    month:=1;
    year:=2014;
    if day < 10 then
      dataV := to_date(((day*1000000) + (month*10000) + year),'dmmyyyy');
    else
      dataV := to_date(((day*1000000) + (month*10000) + year),'ddmmyyyy');
    end if;
    

    Or

    day:= 1000000;
    month:= 10000;
    year:=2014;
    if day < 10 then
      dataV := to_date(day + month + year,'dmmyyyy');
    else
      dataV := to_date(day + month + year,'ddmmyyyy');
    end if;