我正在使用Ms Access,以下是我的查询
select * from travelapproval
where CDate(datefrom1) <= Date()
and CDate(dateto1) >= Date()
我使用的是datefrom1,而dateto1是文本类型。它显示"Data type mismatch in criteria expression."
即使我尝试使用CDate功能,如何将它们转换为日期时间。
答案 0 :(得分:5)
假设您无法将字段类型更改为日期。
检查datefrom1和dateto1字段中是否有非日期值。
如果您这样做,请使用以下内容来解决它:
CDate(IIf(IsDate([StringDate]),[StringDate],0))
答案 1 :(得分:2)
你可以用这个
SELECT * from travelapproval
WHERE Format(datefrom1, "mm/dd/yyyy hh:nn:ss am/pm") <= Date()
AND Format(dateto1, "mm/dd/yyyy hh:nn:ss am/pm") >= Date()
您可以找到更多示例和解释here
答案 2 :(得分:0)
假设datetime字符串来自SQL Server,具有毫秒,
Format(Replace([SQLSERVER_DATESTRING],".000",""),"mm/dd/yyyy hh:nn:ss am/pm")