2013-08-03 126 views
0

我需要從數據庫從日期到查詢之間使用日期的條件retreive數據,如何從日期和日期在sql server中使用數據?

我的查詢,

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

,但它從表中retreive全部數據...

我只需要數據與該日期..

我想另外一個像,

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

如何其更多鈔票..

什麼毛病我查詢...

對不起IM的英文很糟糕...

預先感謝您...

回答

1

一個日期字符串的語法YYYY-MM-DD而不是DD-MM-YYYY

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

no ..它的返回什麼都沒有...... – 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 server,請使用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 = DD-MM-YY

SELECT * FROM Master 

WHERE CONVERT(日期,日期,105)BETWEEN '01 -08-13' 和'30 -08-13'

注意日期的數據類型的選擇, 有或沒​​有時間,日期或年份第一等,請不要使用varchar 日期... 知道它可能會混淆調用一個日期列爲ly Date ... 符合高/低的情況。