Страница 1 из 1

Делаем нормальную дату

Добавлено: 26 фев 2013, 18:48
niteo
Может кому пригодится...

Код: Выделить всё

create or replace function toNormDate(adate in number) return date
is
  god char(5);
  mes char(3);
  den char(3);
begin
  if adate < 32 then
    return null;
  end if;
  god := to_char(adate/65536, '9999');
  mes := to_char(bitand(adate, 65280)/256, '09');
  den := to_char(bitand(adate, 255), '09');
  return(to_date(god || '/' || den || '/' || mes, 'YYYY/DD/MM'));
end toNormDate;

Re: Делаем нормальную дату

Добавлено: 27 фев 2013, 09:22
RAJAH
В "Опыт" лучше было выложить.
А что за язык? SQL на Oracle? В Pascal-подобных языках так, наверное:

Код: Выделить всё

yy := aDate div 65536;
mm := (aDate-65536*yy) div 256;
dd := aDate-65536*yy-256*mm;

Re: Делаем нормальную дату

Добавлено: 27 фев 2013, 10:40
niteo
RAJAH писал(а):В "Опыт" лучше было выложить.
Вы правы. Да, это PL/SQL.