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

select count(*) from invhdr
where convert(varchar(30), invdatetime, 101) = '12/05/2004'

(1707 row(s) affected)

select count(*) from invhdr
where invdatetime between 'dec 5 2004 12:00:00.000am' and 'dec 5 2004 11:59:59.999pm'

(1841 row(s) affected)

select count(*) from invhdr
where invdatetime between 'dec 5 2004 12:00:00.000am' and 'dec 5 2004 11:59:59.996pm'

(1707 row(s) affected)

Разница в 0.003 секунды дает такой сногшибательный результат :)
Вопрос -- такое поведение это ошибка или фича?
12 май 05, 20:10    [1534644]     Ответить | Цитировать Сообщить модератору
 Re: фича или ошибка в datetime?  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
datetime and smalldatetime

Date and time data from January 1, 1753 through December 31, 9999, to an accuracy of one three-hundredth of a second (equivalent to 3.33 milliseconds or 0.00333 seconds). Values are rounded to increments of .000, .003, or .007 seconds
12 май 05, 20:16    [1534656]     Ответить | Цитировать Сообщить модератору
 Re: фича или ошибка в datetime?  [new]
Glory
Member

Откуда:
Сообщений: 104760
set dateformat mdy
go
select cast('dec 5 2004 11:59:59.999pm' as datetime)
12 май 05, 20:19    [1534661]     Ответить | Цитировать Сообщить модератору
 Re: фича или ошибка в datetime?  [new]
спиртсмен
Guest
Спасибо
вот что значит читать документацию по диагонали :)
12 май 05, 20:24    [1534666]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить