求教:sql语句时间查询的问题
我用的是Access,ADO控件和Datagrid控件,查询字段是“时间”,类型是date的全型(如2007-6-6 11:21:35),现在我通过在DTPicker控件里面设置查询时间,这个属性只设日期不设时间(2007-6-6),要查这一全天的记录,但是却显示查不到任何记录,请大家帮我看看,谢谢了!(数据库没有问题,另外一种字段查询好使)
Private Sub cmdQuery_Click()
Dim a
a = DTPicker1.value
frmMain.Adodc1.CommandType = adCmdUnknown
frmMain.Adodc1.RecordSource = "Select * From 列车 Where format(时间, 'yyyy-m-d ')> 'a 'and format(时间, 'yyyy-m-d ') < 'a+1 ' "
frmMain.Adodc1.Refresh
If frmMain.Adodc1.Recordset.EOF Then
MsgBox "查无此时间的记录 ", vbOKCancel + 32, "查询出错 "
frmMain.Adodc1.RecordSource = "列车 "
frmMain.Adodc1.Refresh
End If
End Sub
[解决办法]
查一天的记录?
"Select * From 列车 Where format(时间, 'yyyy-m-d ')= '2007-6-5 ' "
如果你a是变量的话:
"Select * From 列车 Where format(时间, 'yyyy-m-d ')= ' "& a & " ' "
一个时间段内的数据用> <或者between
[解决办法]
如果把时间型转换成字符型比较,就不是时间比较。全都转成时间型来比较。个人的想法