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

Откуда: Ивано-Франковск-Киев
Сообщений: 467
Если в таблице записано дата и время-UDF ничего не возвращает, хотя должна бы возвращать (есть записи удовлетворяющие условия отбора), но если в таблице записана только дата (без времени), то все работает правильно.
Привожу код ф-ции.
Зарание спасибо


CREATE FUNCTION IDPeriodRec ( @dt as smalldatetime )
RETURNS int
AS
BEGIN
Declare @IdPR int

SELECT TOP 1 @IdPR= IdRec FROM dbo.Period_Reg_Klient
WHERE (Klient =100)
AND (CONVERT(smallDATETIME, DataReg, 104)
<= CONVERT(smallDATETIME, @dt, 104))
ORDER BY CONVERT(smallDATETIME, DataReg, 104) DESC


return @IdPR
END
3 фев 05, 23:47    [1298955]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение дат  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Как ты думаешь, какое значение вернет сравнение таких символьных строк:

'10.01.2005'>'01.10.2005'

Т.е. результат прямо противоположен ожидаемому, если бы сравнивались собственно даты.

Либо сравнивай даты "как есть" без перевода в строку, либо используй формат ANSI - YYYY.MM.DD

CONVENRT(smallDATETIME, DataReg, 102)
4 фев 05, 00:10    [1298974]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение дат  [new]
Alexey Sh
Member

Откуда: SPB
Сообщений: 1930
CONVERT(smallDATETIME, DataReg, 104) не убирает минуты
4 фев 05, 00:15    [1298978]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение дат  [new]
Alexey Sh
Member

Откуда: SPB
Сообщений: 1930
Сравнивать можно convert(integer,DataReg) и convert(integer,@dt)
минуты мешать не будут
4 фев 05, 00:37    [1298991]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение дат  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
Alexey Sh
Сравнивать можно convert(integer,DataReg) и convert(integer,@dt)
минуты мешать не будут


часы тоже
4 фев 05, 00:42    [1298994]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение дат  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
BugsBunny
Alexey Sh
Сравнивать можно convert(integer,DataReg) и convert(integer,@dt)
минуты мешать не будут


часы тоже


а также индексы
4 фев 05, 00:52    [1299000]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить