用户将输入日期,例如“2015年7月1日”。然后我将检查数据库并返回一些匹配的结果。请注意,数据库中有日期/时间,但用户只能输入日期。
下面我在Access中设置了以下数据库,col“StartBy”类型是日期/时间
Table = "workStartTable"
|----|------------------------|
| ID | StartBy |
|----|------------------------|
| 1 | 7/1/2015 2:30:00 PM |
| 2 | 1/22/2013 8:00:00 AM |
| 3 | 10/22/2014 10:25:00 AM |
| 4 | 4/5/2010 5:00:00 PM |
| 5 | 7/3/2015 |
|----|------------------------|
我创建了以下查询哪种工作。以下查询将起作用,因为数据库(2015年7月3日)没有时间记录此记录,但“07/01/2015”将无效,因为“07/01/2015”有时间。
Dim query As String = "SELECT DISTINCT * FROM workStartTable WHERE StartBy = #" & "07/03/2015" & "#;"
请注意我已尝试过以下查询,但不会返回任何结果:
Dim query As String = "SELECT DISTINCT * FROM workStartTable WHERE StartBy = " & "07/03/2015" & ";"
Dim query As String = "SELECT DISTINCT * FROM workStartTable WHERE StartBy LIKE % " & "07/03/2015" & " %;"
Dim query As String = "SELECT DISTINCT * FROM workStartTable WHERE StartBy LIKE " & "07/03/2015" & " %;"
答案 0 :(得分:2)
尝试使用DateValue功能:DateValue(StartBy)
SELECT DISTINCT * FROM workStartTable WHERE DateValue(StartBy) = #2015-07-03#;
正如Gord Thompson在评论中指出的那样,一个可能性能更好的选择是使用:
WHERE StartBy >= #2015-07-03# AND StartBy < #2015-07-04#
这将使时间部分无关紧要。