Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Integer в минуты средствами SQL в MSSQL   Найти похожие ветки 

 
mfender ©   (2007-07-30 01:02) [0]

Собственно, вопрос такой: каким образом без особых затей сделать из целого числа (Int) время в SQL-запросе. Например, есть поле типа DateTime (Field1), значение которого нужно увеличить на 20 минут. Эти 20 минут написанны в соседнем поле, типа Integer (Field2). Т.е., конструкция такая:

SELECT Field1 + Field2 AS Res

Все потуги свелись к тому, что Res - дата-время на 20 дней больше, чем Field1. Чего и следовало ожидать. И никак не могу найти, как преобразовать средствами T-SQL эти "20" к "20 минутам".


 
ЮЮ ©   (2007-07-30 06:08) [1]

SELECT (Field1 + Field2/1440
 1440 - магическое число Хранителей Времени. И, как ни странно, именно столько минут в одних сутках.


 
mfender ©   (2007-07-30 08:12) [2]

Вот всё бы хорошо (действительно, как это я сразу не смекнул о таком простом и незатейливом вычислении), но есть одно НО. В справочке к MSSQL написано про оператор деления буквально следующее:

Если целочисленный аргумент dividend делится на целочисленный аргумент divisor, то результатом будет целое число, а дробная часть будет усечена.


Таким образом, выражение SELECT Field1 + 20/1440 FROM tableName теряет всякий смысл, т.к. целая часть деления 20 на 1440 всегда будет равна 0.


 
Anatoly Podgoretsky ©   (2007-07-30 08:35) [3]

> mfender  (30.07.2007 08:12:02)  [2]

А не хочешь попробовать делить на дробное



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
2-1185638832
Юра
2007-07-28 20:07
2007.08.26
Современные игры


2-1185684289
koha
2007-07-29 08:44
2007.08.26
Реестор, вопрос по TRegistry


15-1185894733
ЮТК
2007-07-31 19:12
2007.08.26
О ЮТК


4-1173271734
tytus
2007-03-07 15:48
2007.08.26
Как получить доступ к уже открытому текст. файлу


2-1185116500
tabul
2007-07-22 19:01
2007.08.26
Как сделать что бы тест написанный в Delphi работал на компьютер