powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как показать Разницу дат в часах с минутами
11 сообщений из 11, страница 1 из 1
Как показать Разницу дат в часах с минутами
    #36448639
revda.info
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот запрос:
Код: plaintext
1.
2.
SELECT *,DATEDIFF(hour,dateLoseOn,dateLoseOff) as timeOff,ROUND(DATEDIFF(hour,dateLoseOn,dateLoseOff)*d/ 1000 *d/ 1000 * 3 . 14 / 4 * 1 . 2 * 24 * 3600 / 24 , 0 ) AS v 
FROM za WHERE (MONTH(dateOn) = MONTH(GETDATE()))
ORDER BY dateOn

Выделенный кусок:
Код: plaintext
DATEDIFF(hour,dateLoseOn,dateLoseOff) as timeOff
показывает только часы (например 20), а хотелось бы видеть нечто 20,03
т.е. 20 часов и 3 минуты.
Конечно лучше показать так: 20ч. 3м., но поле там int, и к тому же это поле учавствует потом в расчетах, поэтому надо генерить другое поле наверное.
Например timeOffStr, куда я буду считать так:
DATEDIFF(hour,dateLoseOn,dateLoseOff)+'ч. '+DATEDIFF(min,dateLoseOn,dateLoseOff)-DATEDIFF(hour,dateLoseOn,dateLoseOff)*24+'м.'

В чем я не прав ? Может это можно сделать прощще ?
Спасибо
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #36448674
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revda.info,

можно. вычислите разницу d в минутах, потом d/60 - это часы, d%60 - минуты.
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #36448675
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три сотых часа, это не три минуты

--
http://www.podgoretsky.com
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #36448708
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revda.infoКонечно лучше показать так: 20ч. 3м., но поле там int, и к тому же это поле учавствует потом в расчетах Так, если поле int-овое, в нем должно быть что-то одно: либо минуты, либо часы...

А чем вам эта строка
revda.infoпоэтому надо генерить другое поле наверное. Например timeOffStr, куда я буду считать так:
DATEDIFF(hour,dateLoseOn,dateLoseOff)+'ч. '+DATEDIFF(min,dateLoseOn,dateLoseOff)-DATEDIFF(hour,dateLoseOn,dateLoseOff)*24+'м.' поможет, совсем не понятно.
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #36448768
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Declare @D1 DateTime Set @D1 = '20100204 12:00:00'
Declare @D2 DateTime Set @D2 = '20100204 13:56:00'
Select 
	DateDiff(hour, @D1,@D2),
	DateDiff(minute, DateAdd(hour, DateDiff(hour, @D1,@D2),@D1), @D2)

Как склеить два значения думаю догадаетесь )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как показать Разницу дат в часах с минутами
    #39592679
kac_!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Declare @D1 DateTime Set @D1 = '20170303 16:35'
Declare @D2 DateTime Set @D2 = '20170305 17:51'

Select
case when
(DateDiff(minute, DateAdd(hour, DateDiff(hour, @D1,@D2),@D1), @D2) < 0) then cast(DateDiff(hour, @D1,@D2)-1 as varchar) + ':'+ cast((60 + DateDiff(minute, DateAdd(hour, DateDiff(hour, @D1,@D2),@D1), @D2)) as varchar)
else
cast(DateDiff(hour, @D1,@D2) as varchar) + ':' + cast(DateDiff(minute, DateAdd(hour, DateDiff(hour, @D1,@D2),@D1), @D2) as varchar)
end
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #39592690
kac_!,

8 лет человек ждал твоего ответа! Вот теперь-то у него точно всё получится! :)
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #39592710
RMAN54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ретрофилы)

сразу запостю вариант чтоб через 8 лет не писать


Код: sql
1.
2.
3.
4.
5.
6.
7.
Declare @D1 DateTime Set @D1 = '20170303 17:50'
Declare @D2 DateTime Set @D2 = '20170305 17:50'

select  cast(  x.mm /60 as varchar(30)) + ':' +  right('0'+cast(x.mm % 60 as varchar(10)),2)
from (
 select datediff(mi,@d1,@d2) mm
 ) x 
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #39592721
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMAN54,

ну или

Код: sql
1.
FORMAT(FLOOR(x.mm/60.)*100 + x.mm % 60,'00:00')
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #39592736
RMAN54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKRMAN54,

ну или

Код: sql
1.
FORMAT(FLOOR(x.mm/60.)*100 + x.mm % 60,'00:00')


норм), но тогда почему бы не так
Код: sql
1.
FORMAT(x.mm/60*100 + x.mm % 60,'00:00')
...
Рейтинг: 0 / 0
Как показать Разницу дат в часах с минутами
    #39592742
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMAN54,

на любителя, я так не делаю
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как показать Разницу дат в часах с минутами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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