我在MS Access 2000中查询时遇到问题。我需要根据数据库中的当前日期进行选择。我将函数date()
或now
放入其中,但它不起作用。下面是我的问题:
SELECT TOP 100 PERCENT dbo.КАРНЕТ.НомКарнета, dbo.ФИРМА.НаимПредпр
FROM dbo.ФИРМА INNER JOIN
dbo.КАРНЕТ ON dbo.ФИРМА.КодПредпр = dbo.КАРНЕТ.КодПредпр
WHERE (dbo.КАРНЕТ.ДтСдачи = CONVERT(DATE, 'DATE()', 102))
GROUP BY dbo.КАРНЕТ.НомКарнета, dbo.ФИРМА.НаимПредпр;
发布于 2013-02-01 10:47:12
您应该能够使用不带单引号的Date()
:
WHERE dbo.КАРНЕТ.ДтСдачи = Date()
Date()
函数将返回当前系统日期。
如果您的dbo.КАРНЕТ.ДтСдачи
包含时间,那么您可能需要对其进行格式化,并且您也可以将Date()
值设置为相同的格式:
WHERE Format(dbo.КАРНЕТ.ДтСдачи, "yyyy.mm.dd") = Format(Date(), "yyyy.mm.dd")
注意:我刚刚在MS Access 2003中测试了上面的代码行,它返回了记录。此代码应与MS Access 2000相同。
发布于 2013-02-01 10:14:58
试试这个:
SELECT FORMAT(DATE(),'DD.MM.YYYY')
MS Access的结果:
01.02.2013
发布于 2013-02-01 10:40:16
没有quotes.
now()
、today()
或date()
可能没有当天的数据。在将字段与D13函数进行比较之前,convert(...)
或D12的日期格式。H214https://stackoverflow.com/questions/14643972
复制相似问题