将变量与其他日期、日期时间进行比较

Posted

技术标签:

【中文标题】将变量与其他日期、日期时间进行比较【英文标题】:Compare a variable with other Date,Datetime 【发布时间】:2013-09-09 17:04:10 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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-m-d 格式作为日期 string 以避免 d-m-yyym-d-yyyy 的任何混淆 区域设置。

【讨论】:

非常感谢您快速而正确的回答,它奏效了!

以上是关于将变量与其他日期、日期时间进行比较的主要内容,如果未能解决你的问题,请参考以下文章

将输入类型日期与当前日期进行比较

通过将日期列与两个参考列进行比较来计算从日期开始的年期

我如何将当前日期与日期选择器中的用户输入日期进行比较

FreeMarker 当前日期比较

将日期和时间与今天的日期和时间进行比较

将日期字符串与 SQL Server 中的日期时间进行比较?