使用#括住SQL中的日期

问题描述

我有.mdb数据库,其中包含示例数据:

GameIndx|GameDate           |PlayerID|Duration|score|
--------|-------------------|--------|--------|-----|
       1|2016-01-11 00:00:00|SM004   |     455| 2200|
       2|2016-01-12 00:00:00|SM004   |     241| 1952|
       3|2016-01-12 00:00:00|SV007   |     381| 1280|
       4|2016-01-12 00:00:00|LK001   |     372| 5237|

要运行SELECT来匹配某个GameDate:

   sql := 'SELECT GameIndx,GameDate from tblGames where GameDate=#2016/01/11#';

此语句在Delphi内部有效,并返回正确的列。 据我了解,这不是sql语法:是否有有关日期的可接受语法的Delphi文档?

GameDate=#2016/01/11#

解决方法

您提到您正在处理.mdb,即Microsoft Access数据库。 MS Access在SQL数据库中是不寻常的,因为它使用'#'字符作为日期的分隔符,因此在这种情况下,GameDate=#2016/01/11# IS 实际上是有效的SQL语法,与SQL语法无关德尔福。