我正在使用Access数据库,它有一个名为Checkinout
的表,用于存储Datetime。我试图将该变量与另一个变量进行比较,但无论我如何尝试它总是给我一个错误。
如果我使用convert
,它会告诉我函数convert
不存在。如果我使用cast
,它说我错过了一个操作员。
以下是一个例子:
$sql1="SELECT * FROM Checkinout
where Checkinout.Checktime > Cast('26-8-2013' as Datetime) ";
我尝试过许多不同的方式,如:
$date= '26/08/2013 00:00:00 a.m';
$date= '26-08-2013 00:00:00 a.m';
$date= '2013/08/26 00:00:00 a.m';
$date= '2013-08-26 00:00:00 a.m';
等等,仍然无效。
我正在使用PHP进行查询。
答案 0 :(得分:2)
Access SQL不包含Cast
或Convert
个函数。您可以使用CDate()
将合适的字符串转换为日期/时间值。
$sql1="SELECT * FROM Checkinout
where Checkinout.Checktime > CDate('2013-8-26') ";
或使用#
分隔符将值作为日期/时间字面值提供。
$sql1="SELECT * FROM Checkinout
where Checkinout.Checktime > #2013-8-26# ";
我使用 yyyy-md 格式作为日期 string ,以避免与 dm-yyy 与 md-yyyy混淆区域设置。