Передние и конечные пробелы не имеют никакого значения, насколько я могу видеть.
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'
Нет строки могут соответствовать этому условию, как конец диапазона в алфавитном порядке перед началом диапазона.
У вас есть лишнее пространство в начале '' 04.02.2011'' и в конце '' 31 .01.2011 '' не знаю, влияет ли это на что-либо. Каков тип данных столбца 'tarih'? Также используйте формат ISO 'yyyymmdd'. –