Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 разница во времени  [new]
Igorgg
Member

Откуда:
Сообщений: 83
Как вычесть время из времени и получить результат в формате dd.mm.yyyy hh:mm:ss.
DATEDIFF(dd, DateUpdate, GETDATE()) - не получается представить в нужном формате dd.mm.yyyy hh:mm:ss
Спасибо
10 ноя 11, 21:18    [11578183]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
convert 2
Guest
Igorgg,

укажите формат. convert.
10 ноя 11, 23:14    [11578497]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
Igorgg
Как вычесть время из времени и получить результат в формате dd.mm.yyyy hh:mm:ss.
DATEDIFF(dd, DateUpdate, GETDATE()) - не получается представить в нужном формате dd.mm.yyyy hh:mm:ss
Спасибо
допустим, из 10-го ноября 2011 года вычтем 10-е ноября 2010 года
какой результат вы хотите видеть?
10 ноя 11, 23:19    [11578513]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Igorgg
Member

Откуда:
Сообщений: 83
00.00.0001 00:00:00
10 ноя 11, 23:38    [11578582]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
нулевой день нулевого месяца?
так не бывает!
10 ноя 11, 23:44    [11578598]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Igorgg
Member

Откуда:
Сообщений: 83
А какой должен быть результат по вашему?
10 ноя 11, 23:48    [11578604]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
по-моему интервал времени можно представить в формате дни_часы_минуты_секунды_миллисекунды
например, "1024 23:59:59.999"

а вот с месяцами проблема, в них почему-то разное количество дней
а в феврале так вообще то 28 дней, то 29
10 ноя 11, 23:53    [11578615]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6900
declare @Date1 datetime
declare @Date2 datetime
declare @Diff datetime
set @Date1 = cast('01.10.2010 14:00:00' as datetime)
set @Date2 = cast('11.11.2011 14:10:00' as datetime)
select @Diff = @Date2 - @Date1

SELECT 
 replace(str(day(@Diff) - day(0) + 1, 2), ' ', '0') + '.' +
 replace(str(month(@Diff) - month(0), 2) , ' ', '0') + '.' +
 replace(str(year(@Diff) - year(0), 2), ' ', '0') + '.' +
 convert(varchar(8), @Diff, 8) as MyDiff
11 ноя 11, 02:20    [11578905]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6900
Немного соврал... вернее будет так:
declare @Date1 datetime
declare @Date2 datetime
declare @Diff datetime
set @Date1 = cast('10.11.2010 14:00:00' as datetime)
set @Date2 = cast('10.11.2011 14:00:00' as datetime)
select @Diff = @Date2 - @Date1

SELECT 
 replace(str(day(@Diff) - day(0), 2), ' ', '0') + '.' +
 replace(str(month(@Diff) - month(0), 2) , ' ', '0') + '.' +
 replace(str(year(@Diff) - year(0), 4), ' ', '0') + ' ' +
 convert(varchar(8), @Diff, 8) as MyDiff
11 ноя 11, 02:24    [11578909]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
Паганель
по-моему интервал времени можно представить в формате дни_часы_минуты_секунды_миллисекунды
например, "1024 23:59:59.999"

а вот с месяцами проблема, в них почему-то разное количество дней
а в феврале так вообще то 28 дней, то 29


а по моему разница между датами выражается не датой, а числом... числом в годах, числом в месяцах, неделях, днях и т.д.

т.е. от даты Х до даты У прошло 635 дней или 15240 часов
11 ноя 11, 09:09    [11579225]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
SanyL
Паганель
по-моему интервал времени можно представить в формате дни_часы_минуты_секунды_миллисекунды
например, "1024 23:59:59.999"

а вот с месяцами проблема, в них почему-то разное количество дней
а в феврале так вообще то 28 дней, то 29


а по моему разница между датами выражается не датой, а числом... числом в годах, числом в месяцах, неделях, днях и т.д.

т.е. от даты Х до даты У прошло 635 дней или 15240 часов
Ну почему...
Я могу себе представить результат в виде недели:сутки:часы:минуты:секунды.
Ибо все эти единицы измерения времени имеют вполне определённый смысл.

А вот что такое "месяц" или "год" - неизвестно!
11 ноя 11, 09:59    [11579476]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
iap
SanyL
пропущено...


а по моему разница между датами выражается не датой, а числом... числом в годах, числом в месяцах, неделях, днях и т.д.

т.е. от даты Х до даты У прошло 635 дней или 15240 часов
Ну почему...
Я могу себе представить результат в виде недели:сутки:часы:минуты:секунды.
Ибо все эти единицы измерения времени имеют вполне определённый смысл.

А вот что такое "месяц" или "год" - неизвестно!


для того чтобы тебе так представить результат - ты должен разницу между датами замерить в секундах, не? а дальше переводишь в то сколько это недель, суток , часов, минут...

ps а чем год отличается от минуты? (вопрос не риторический, а в рамках данной задачи)
11 ноя 11, 10:08    [11579532]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
SanyL
ps а чем год отличается от минуты? (вопрос не риторический, а в рамках данной задачи)
Это мне вопрос?
Отвечаю: год бывает високосным (366 суток) и невисокосным (365 суток).
То есть имеет непостоянную продолжительность, зависящую от момента времени..
11 ноя 11, 10:28    [11579671]     Ответить | Цитировать Сообщить модератору
 Re: разница во времени  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
SanyL
Паганель
по-моему интервал времени можно представить в формате дни_часы_минуты_секунды_миллисекунды
например, "1024 23:59:59.999"
а по моему разница между датами выражается не датой, а числом...
а я и не выражал его датой
1024 суток 23 часа 59 минут 59 секунд 999 миллисекунд - это никакая не дата
11 ноя 11, 11:06    [11579935]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить