如何在两个日期和时间之间从数据库获取记录?

问题描述:

我在UI服用日期从服务器请求:如何在两个日期和时间之间从数据库获取记录?

request.date_from = dateTimePickerFromDate.Value; //7/31/2017 12:33:18 PM request.date_to = dateTimePickerToDate.Value; //7/31/2017 12:33:18 PM

数据没有得到显示的时间是一样的date_from和DATE_TO

并在数据库中我有SQL查询:

@date_from datetime, @date_to datetime

select Transaction_date from Transaction where (Transaction_Date >= @date_from and Transaction_Date <= @date_to) order by Transaction_date desc

我收到数据,如果我选择不同的日期,但如果我选择相同的日期,数据不会显示,虽然我有数据库中的记录,因为同一时间。

正如我想把日期2017年7月31日00:00:002017年7月31日23:59:59做什么样的变化,我需要做无论是在显示与记录SQL查询或在WinForms UI?

+0

如果你使用'@ date_from'相同的日期和'@ date_to',你会只获得具有确切日期的记录。就你而言,我认为,没有确切的匹配。 – Ben

+1

请阅读[在什么情况下,我可以添加“紧急”或其他类似的短语到我的问题,以获得更快的答案?](/ meta.*.com/q/326569) - 总结是,这不是这是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将这添加到您的问题。 – halfer

+0

嘿本,我有数据库中的记录让我们说从** 2017-07-31 10:50:47.043 **和** 2017-07-31 19:07:07.137不等**日期相同,时间不同。所以,如果我选择相同的日期,我应该能够在具有相同日期的两个不同时间之间获得数据。 – Rudra

利用的相互查询

select * from table where {date_filed} between {start_data} and {end_date}

或者你可以使用

select * from table where {date_filed} >= {start_data} and {date_filed} <= {end_date}

,但在这两个日期日期字段需要的DateTime或时间戳数据类型以其他方式使用其类型案件STR_TO_DATE使用在mysql查询中

+0

Priyanka,我正在使用这个:'select Transaction_date from where(Transaction_Date> = @date_from和Transaction_Date = {start_data}和{date_filed} Rudra

+0

它的工作日期也是如此(今天早上我已经用过了)这里表名不见了我确定它的一个错误,但我仍然通知你 你的数据类型是datetime还是timestamp? –

+0

这是一个打字错误。对于这两个日期,数据类型都是日期时间。 – Rudra

假设你有两个DatePicker控件形式。我会添加一天到dt_to

var dt_from = dateTimePicker1.Value; 
var dt_to = dateTimePicker2.Value; 
if (dt_from.Date == dt_to.Date) 
    dt_to = dt_to.AddDays(1); 

[更新]

request.date_from = dateTimePickerFromDate.Value; 
request.date_to = dateTimePickerToDate.Value; 
if (request.date_from.Value.Date == request.date_to.Value.Date) 
    request.date_to = dt_to.Value.AddDays(1); 

[更新2]

request.date_from = dateTimePickerFromDate.Value; 
request.date_to = dateTimePickerToDate.Value; 
if (request.date_from.Value.Date == request.date_to.Value.Date) 
    request.date_from = request.date_from.Value.Date; 
+0

它没有为我工作。我正在使用Visual Studio 2017,它没有使用dt_from.Date .Date是不可接受的。 – Rudra

+0

什么不在使用'dt_from.Date'? – Ben

+0

代码中dt_from的类型是什么? – Ben