Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / неправильно работает between? / 5 сообщений из 5, страница 1 из 1
19.03.2002, 14:34
    #32025721
ulysses
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неправильно работает between?
не пойму, во всех мануалах значится, что between выбирает интервал ВКЛЮЧАЯ граничные значения, но у меня вот такая вещь не выполняется, когда оба граничных значения равны, но ведь должна:

IF TAB1.Dates BETWEEN ISNULL(@Date1,'01/01/1970') AND ISNULL(@Date2,GETDATE()) SELECT 'THATs IT'

т.е. при @Date1 = @Date2 условие не работает, причем уже извратнулся так - если они равны, увеличиваю @Date2 на несколько часов, чтобы условие железно выполнялось, но не выполняется...
...
Рейтинг: 0 / 0
19.03.2002, 16:21
    #32025731
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неправильно работает between?
так не бывает, повнимательнее у себя посмотрите
...
Рейтинг: 0 / 0
20.03.2002, 06:37
    #32025760
USVER
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неправильно работает between?
тип DATETIME хранит не только дату, но и время
@data1=1987-01-01 00:00:00.000
@data2=1987-01-01 00:00:01.000

@data1=@data2 - не прокатит
а прокатит следующее
YEAR(@data1)=YEAR(@data2) AND MONTH(@data1)=MONTH(@data2) AND DAY(@data1)=DAY(@data2)
или
CONVERT(datetime, @data1, 104) = CONVERT(datetime, @data2, 104)
...
Рейтинг: 0 / 0
20.03.2002, 18:38
    #32025863
ulysses
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неправильно работает between?
спасибо всем отКЛИКнувшимся
грабли были в руках, как водится... в общем, формат даты неверен был при задании забыл поставить при вызове процедуры SET DATEFORMAT DMY, у меня весь расчет в ней был именно такой ... сорри
...
Рейтинг: 0 / 0
20.03.2002, 19:11
    #32025864
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
неправильно работает between?
Совет
Чтобы не зависеть при конвертации строк в даты от региональных установок как на сервере так и на клиенте используйте следующий формат

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


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