1

我正在使用 Access 数据库,它有一个名为Checkinout存储日期时间的表。我正在尝试将该变量与另一个变量进行比较,但无论我如何尝试它总是会给我一个错误。

如果我使用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 进行查询。

4

1 回答 1

2

Access SQL 不包含CastConvert函数。您可以使用CDate()将合适的字符串转换为日期/时间值。

$sql1="SELECT * FROM Checkinout 
      where Checkinout.Checktime > CDate('2013-8-26') ";  

或者使用#分隔符将值作为日期/时间文字提供。

$sql1="SELECT * FROM Checkinout 
      where Checkinout.Checktime > #2013-8-26# "; 

我对日期字符串使用了yyyy-md格式,以避免dm-yyymd-yyyy语言环境设置的混淆。

于 2013-09-09T17:10:55.523 回答