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

Откуда:
Сообщений: 121
Помогите с запросом узнать сколько прошло лет.
Начало запроса:
"SELECT Count(*) id FROM lig WHERE op_dat BETWEEN '" +
                        dateTimePicker1.Value.ToShortDateString() + "' AND  '" +
                        dateTimePicker2.Value.ToShortDateString() + "'  a дальше значение поля op_dat - amzius=1 YEAR
?
31 июл 11, 21:17    [11050451]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
vaistas
Member

Откуда:
Сообщений: 121
op_dat , amzius типа date
31 июл 11, 21:18    [11050454]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8877
В MSSQL такое не заработает...

А вообще - datediff():
declare @d1 datetime = '19800101', @d2 datetime = '20110630'
select [@d1]=@d1, [@d2]=@d2, [DATEDIFF(year...)] = DATEDIFF(year,@d1,@d2)
select [@d1]=@d1, [@d2]=@d2, [DATEDIFF(day...)] = DATEDIFF(day,@d1,@d2)

@d1 @d2 DATEDIFF(year...)
1980-01-01 00:00:00.000 2011-06-30 00:00:00.000 31


@d1 @d2 DATEDIFF(day...)
1980-01-01 00:00:00.000 2011-06-30 00:00:00.000 11503
1 авг 11, 01:16    [11050939]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
op_dat BETWEEN '" + dateTimePicker1.Value.ToShortDateString() + "'

и где тут

vaistas
op_dat типа date


???
1 авг 11, 01:19    [11050942]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
vaistas
Member

Откуда:
Сообщений: 121
Верблюд,

а что BETWEEN уже с датами не работает?
1 авг 11, 14:36    [11053220]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
Glory
Member

Откуда:
Сообщений: 104751
vaistas
Верблюд,

а что BETWEEN уже с датами не работает?

BETWEEN работает со многими типами данных
Вы то как раз ей строки передаете, а не даты
1 авг 11, 14:42    [11053256]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
vaistas
Member

Откуда:
Сообщений: 121
спасиб
1 авг 11, 14:49    [11053306]     Ответить | Цитировать Сообщить модератору
 Re: разница двух дат  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
vaistas,
а так подойдет?
create function uf_getTime (
	@date_start datetime,
	@date_end datetime
)
 returns varchar(16)
as 
begin
declare @res varchar(16)

select @res =	replace(str(datediff(dd, '19000101', diff),7),' ','')	+':'+
				replace(str(datepart(hh, diff),2),' ','0') +':'+ 
				replace(str(datepart(mi, diff),2),' ','0') +':'+
				replace(str(datepart(ss, diff),2),' ','0') 	
from (select @date_end - @date_start [diff]) t
return @res
end
2 авг 11, 11:04    [11057178]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить