SELECT WHERE date time > day(不一定是time)
本文关键字:time 不一定 WHERE date SELECT day | 更新日期: 2023-09-27 18:06:51
我有一个表,它有一个日期时间列。我希望返回所有日期大于输入日期的记录。我使用日期选择器控件输入日期。
换句话说,如果我的数据表只有四行,
2014-04-23 10:40:27.592 Abby
2014-05-23 09:40:27.592 Bobby
2014-06-01 08:53:59.320 Cathy
2014-06-05 08:53:59.320 Debbie
当我的DatePicker控件输入2014-06-03时,输出应该是:
2014-06-05 08:53:59.320 Debbie
在调用select方法之前将dateTimePicker Control的值转换为字符串。
string FromDate = dateTimePickerFromDate.ToString()
在我的select方法中,我有:
if (fromDate != null)
{
return GetSQLDataSet(" [employeeKnownAs] + ' ' +[employeeLastName] AS 'empName', [InsertDate]", "EmpData", "", "EmpData.InsertDate >= " + fromDate.ToString(), "InsertDate ASC", DbConnect.myDataConnection);
不幸的是,无论我从dateTimePicker中选择哪个日期,它都会返回null。
所以你需要将datetime转换为正确的字符串?
string FromDate = dateTimePickerFromDate.ToString("yyyy-MM-dd")
你的DatePicker无论如何只返回日期部分,正如你在你的帖子my DatePicker control has input of 2014-06-03
中提到的。因此,您必须在SQL查询中将SQL DATETIME值CAST
为DATE。你的查询应该看起来像
select
[employeeKnownAs],
[employeeLastName] AS 'empName',
[InsertDate]
from EmpData
where cast(InsertDate as DATE) >= fromDate.ToString()
您也可以使用SQL SERVER CONVERT()
函数,样式格式为101
,如
CONVERT(VARCHAR,InsertDate,101) >= fromDate.ToString()