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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

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

Сообщение 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;
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

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

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

yy := aDate div 65536;
mm := (aDate-65536*yy) div 256;
dd := aDate-65536*yy-256*mm;
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

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

Сообщение niteo »

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