2013-08-03 3 views
0

мне нужно извлечь данные из базы данных при условии, от даты до даты, чтобы, используя между запросом,Как получить данные, используя дату и дату на сервере sql?

мой запрос,

select * from Master where Date between '01-08-2013' and '30-08-2013' 

но все извлечь данные из таблицы ...

мне нужно только данные с в тот же день ..

я попробовал еще один, как,

select * from PatientMaster where EntryDate >= '01-08-2013' and EntryDate<= '30-08-2013' 

как его .. Возможное

, что случилось с моим запросом ...

жаль им очень плохо на английском языке ...

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

ответ

1

Свидание строка имеет синтаксис YYYY-MM-DD и не DD-MM-YYYY

select * from Master 
where `Date` between '2013-08-01' and '2013-08-30' 
+0

нет .. его возврат ничего ... – Saranya

+0

Тогда, пожалуйста, укажите данные типа столбца и примеры данных. –

+0

тип данных - varchar – Saranya

0

для этого вы можете использовать

select * from Master where Date >='01-08-2013' and dateadd(dd,1,'30-08-2013') 
0

Вы должны преобразовать свои строки в даты. This page показывает, как это сделать в mysql, что вы отметили. Для сервера sql, который находится в строке темы, используйте this page.

Затем вы делаете небольшую модификацию своей второй попытки. Вместо

and EntryDate <= the end date 

вы хотите

and EntryDate < the day after the end date 

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

0

Вы будете искать запрос, который будет работать с вашим форматом? (dd-mm-yy) CAST в желаемом формате!

http://www.w3schools.com/sql/func_convert.asp

105 = дд-мм-уу

SELECT * FROM Master 

ГДЕ ПРЕОБРАЗОВАНИЯ (дата, дата, 105) между '01 -08-13' и '30 -08-13'

Будьте в курсе выбора типа данных для даты Столбцы, с или без времени, дня или года сперва и т. Д. И, пожалуйста, не используйте varchar для дат ... знают, что он может сбивать с толку вызов столбца даты для ly Дата ... быть в соответствии с высоким/нижним регистром.

Смежные вопросы