Вопрос SQL-запроса - PullRequest
       1

Вопрос SQL-запроса

1 голос
/ 07 февраля 2011

Я использую следующий запрос для перечисления этих записей между указанными датами. Но это не работает. Также не выдает ошибку. Просто появляется пустое изображение screen.it имеет имя столбца.Любая проблема следующий запрос?

SET DATEFORMAT dmy
select *from tamirarizakaydi where tarih between '31.01.2011 ' and ' 04.02.2011' 

заранее спасибо.

1 Ответ

2 голосов
/ 07 февраля 2011

Начальные и конечные пробелы не имеют никакого значения, насколько я вижу.

SET DATEFORMAT dmy 
select CAST('31.01.2011 ' as date) , CAST(' 04.02.2011' as date), CAST('31.01.2011 ' as datetime), CAST(' 04.02.2011' as datetime)

Возвращает

---------- ---------- ----------------------- -----------------------
2011-01-31 2011-02-04 2011-01-31 00:00:00.000 2011-02-04 00:00:00.000

Я собираюсь догадаться, что tarihхранится в виде строки или у вас нет соответствующих строк.

Если tarih является символьным столбцом, тогда ваш запрос будет выполнять лексикографическое сравнение и искать строки, в которых tarih >= '31.01.2011 ' and 'tarih <= ' 04.02.2011' Строки не могутсопоставьте это условие, поскольку конец диапазона находится в алфавитном порядке перед началом диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...