powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / ложить дату с числом.
11 сообщений из 11, страница 1 из 1
ложить дату с числом.
    #32856588
OCL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OCL
Гость
Можно ли в DB2 в запросе сложить дату с числом?
SELECT fDATE + 125 FROM...
Если можно - как будет воспринято число (число дней или что-то еще)? Может ли быть число дробным.
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32856955
Фотография Alexey Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
125 чего? Если дней, то:
Код: plaintext
1.
SELECT FDATE +  125  DAYS
FROM ...
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32858169
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
values currnt_timstamp + 2 days + 12 hours + 35 minutes + 15 seconds
it works like this also
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32858222
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение:
... + 11 months + 3 years
И естественно вычитать тоже можно.
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32859191
OCL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OCL
Гость
Нет, я имел ввиду сложить без указания дней, месяцев и т.д. Просто число.
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32860114
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Strange wish.
I usually use unix time in programms, but adding seconds to a timestamp has a reason. Adding just a number to a date, time, or timestamp does not have any rasons.
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32860176
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сложить килограммы и метры и посмотреть, что получится ;-)
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32861934
OCL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OCL
Гость
Приведенный вначале темы запрос - SELECT fDATE + 125 FROM... совершенно нормально работает в SQL Server (125 воспринимаются как дни).
Запрос типа SELECT FDATE + 125 DAYS
FROM ... сработает, но не обратит внимание на то, что написано после 125 (DAYS, YEARS...) - просто возьмет число как дни и добавит к дате.
Запрос типа values currnt_timstamp + 2 days + 12 hours + 35 minutes + 15 seconds вообще не сработает на SQL Server
А мне надо, чтобы запрос работал на SQL Server, DB2, Oracle - вот оттуда и вопрос.

Сама проблема в том, чтобы получить заведомо большую дату - типа 2300 года, и так, чтобы это работало на всех трех серверах
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32862168
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В программе

WITH Query.SQL DO BEGIN
Add('SELECT ');
Add(addSQLDays('fDate', 125, 'DB2');
Add('FROM ...');
END;

Где

function addSQLDays(fieldName: string; days: integer; serverType: string):string;
begin
if serverType = 'DB2' then begin
...
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32862290
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может написать пользовательские функции для каждого из серверов и использовать их в запросе?
...
Рейтинг: 0 / 0
ложить дату с числом.
    #32863729
OCL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OCL
Гость
Я на своем слое выполнения понятия не имею - на какой базе данных будет исполняться запрос - за это отвечает слой запросов к базе. Я даже не пишу сам запрос в привычном виде, тем более не создаю и поддерживаю UDF.
Открывать требование на изменение функциональности чужого кода - себе дороже и очень долго. Поэтому хотел выкрутится - похоже не получится, а жаль...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / ложить дату с числом.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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