如何在sql server中使用日期和日期获取数据?

时间:2013-08-03 11:47:24

标签: mysql 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'

它的可能性......

我的查询有什么问题......

抱歉,我的英语非常糟糕......

提前谢谢你......

4 个答案:

答案 0 :(得分:1)

日期字符串的语法为YYYY-MM-DD而不是DD-MM-YYYY

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

答案 1 :(得分:0)

为此你可以使用

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

答案 2 :(得分:0)

您必须将字符串转换为日期。 This page向您展示如何在mysql中执行此操作,这是您标记的内容。对于主题行中的sql server,请使用this page

然后你稍微修改你的第二次尝试。而不是

and EntryDate <= the end date

你想要

and EntryDate < the day after the end date

负责任何时间组件。在你的情况下可能无关紧要,但这是一个很好的习惯。

答案 3 :(得分:0)

您是否正在寻找适用于您的格式的查询? (DD-MM-YY) CAST到所需的格式!

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

105 = dd-mm-yy

SELECT * FROM Master

在'01 -08-13'和'30 -08-13'之间转换(日期,日期,105)

关注日期列的数据类型选择, 有或没有时间,日或年第一等,请不要使用varchar 对于约会...... 知道只为日期调用日期列可能会令人困惑... 与高/小的情况一致。