Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Тип данных для даты+время / 16 сообщений из 16, страница 1 из 1
09.08.2018, 08:00
    #39685173
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Подскажите, пожалуйста, тип данных, чтобы дата и время были вместе. На вроде DATETIME.
...
Рейтинг: 0 / 0
09.08.2018, 08:07
    #39685174
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Rphoenix,

RTFM TIMESTAMP?
...
Рейтинг: 0 / 0
09.08.2018, 08:40
    #39685193
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Допустим, есть D1 и D2 типа date и T1, T2 типа time .

Нужна разница между D2T2-D1T1.
...
Рейтинг: 0 / 0
09.08.2018, 09:17
    #39685219
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Rphoenix, и в чем проблема?
...
Рейтинг: 0 / 0
09.08.2018, 09:19
    #39685222
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Rphoenix,

Разница в чем? В каких единицах?
...
Рейтинг: 0 / 0
09.08.2018, 09:55
    #39685246
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Rphoenix,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
create domain DURATION   -- Длительность
double precision^

create procedure FORMAT_TIME_INTERVAL(        -- Выдает кол-во часов и минут в формате HH ч MM мин
  TIME_INTERVAL type of DURATION              -- Временной интервал
)
returns (
  RESULT varchar(40)                          -- Результат
)
as
declare variable AH integer;
declare variable AM integer;
begin
 if ( (TIME_INTERVAL is null) or (TIME_INTERVAL < 0) )
    then RESULT = '';
    else begin
          if (TIME_INTERVAL > 0.000000009)
             then AH = TIME_INTERVAL*24 - 0.5;
             else  AH = 0;
          AM = (TIME_INTERVAL - cast(AH as double precision)/24)*1440;
          if (AM = 60)
             then begin
                  AH = AH + 1;
                  AM = 0;
                  end
          if (AH < 10)
             then RESULT = '0'||AH||' ч ';
             else RESULT = AH||' ч ';
          if (AM < 10)
             then RESULT = RESULT||' 0'||AM||' мин ';
             else RESULT = RESULT||' '||AM||' мин ';
         end
 suspend;
end^
...
Рейтинг: 0 / 0
09.08.2018, 10:16
    #39685266
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
pastor,

А DATEDIFF не кошерно?
...
Рейтинг: 0 / 0
09.08.2018, 10:21
    #39685268
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
RphoenixДопустим, есть D1 и D2 типа date и T1, T2 типа time .

Нужна разница между D2T2-D1T1.

Что-то такое:
Код: sql
1.
datediff(minute, (D1+T1), (D2+T2))


Третий FB правильно понимает сложение даты и времени, превращает его в TIMESTAMP. Если не то, то тогда через CAST.
...
Рейтинг: 0 / 0
09.08.2018, 10:43
    #39685286
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
Понапишут серверных процедур, которые время возвращают в формате "4 часа тому назад" или "3-й день с Пасхи 2018 года, около 2 часов пополудни", а потом появляются топики (от других писателей) "как мне преобразовать ..."
...
Рейтинг: 0 / 0
09.08.2018, 11:06
    #39685309
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
WildSeryПонапишут серверных процедур, которые время возвращают в формате "4 часа тому назад" или "3-й день с Пасхи 2018 года, около 2 часов пополудни", а потом появляются топики (от других писателей) "как мне преобразовать ..."
Что делать? Это сейчас принято. Сегодня, вчера, вторник, понедельник... В принципе, действительно, удобно. "Вчера" лучше чем 08.08.2018.
...
Рейтинг: 0 / 0
09.08.2018, 11:11
    #39685313
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
pastor, огромнейшее спасибо! Очень помогли!
...
Рейтинг: 0 / 0
09.08.2018, 11:11
    #39685314
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
KreatorXXI, до меня базу делали другие люди - сейчас разбираюсь.
...
Рейтинг: 0 / 0
09.08.2018, 11:24
    #39685334
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
KreatorXXIЧто делать? Это сейчас принято. Сегодня, вчера, вторник, понедельник... В принципе, действительно, удобно. "Вчера" лучше чем 08.08.2018.Разумеется, это удобно. Но для представления в клиенте, а не.
...
Рейтинг: 0 / 0
09.08.2018, 12:22
    #39685429
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
WildSery,

на клиенте ещё и удобнее во многих случаях. Как, например, в этом случае. Хранимка выдала строку, а клиенту, если придётся, нужно как-то опять в число её преобразовывать.
...
Рейтинг: 0 / 0
09.08.2018, 12:44
    #39685463
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
KreatorXXIХранимка выдала строку, а клиенту, если придётся, нужно как-то опять в число её преобразовывать.
не надо маразма.
WildSery2 часов пополудни", а потом появляются топики (от других писателей) "как мне преобразовать ..."

Вы не путайте нормальный вывод приложения, и хитрожопых халявщиков, которые пытаются бесплатно парсить платные сервисы (я в курсе топика, в котором этот вопрос был).
...
Рейтинг: 0 / 0
09.08.2018, 13:43
    #39685537
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тип данных для даты+время
kdv,

Я вот об этом топике подумал, а не о том, на который ты намекаешь.
Его влияние сказалось только на "человечности" моих примеров.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Тип данных для даты+время / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]