TableAdapter配置向导无法识别sql语句"DATE()"
本文关键字:quot DATE 语句 sql 向导 配置 识别 TableAdapter | 更新日期: 2023-09-27 18:02:05
我需要在我的程序中做一个报告。然后,我使用以下sql代码筛选将在报表查看器中显示的数据:
SELECT *
FROM Order
WHERE OrDate=DATE() OR OrDate>=DATE() - 7;
当我点击下一步时,出现这个错误
生成SELECT语句。')'附近的WHERE子句错误。无法解析查询文本。
请帮我解决这个错误
您希望Date返回今天的日期吗?我以为是GETDATE() http://msdn.microsoft.com/en-gb/library/ms188383.aspx
如果你是SQL server 2008
选择SELECT *从(订单)WHERE OrDate>= CONVERT(date, DATEADD(DAY, -7, GETDATE()))
问题不是因为DATE()
,而是因为表名ORDER
。
在大多数RDBMS中,ORDER
是保留关键字。当使用保留关键字时,使用特定于供应商的分隔符对其进行转义。在SQL Server
中,您可以使用括号。
SELECT *
FROM [Order]
WHERE OrDate = DATE() OR
OrDate >= DATE() - 7;
- 访问保留关键字
From Access Docs,
如果一个保留字已经在使用中,可以通过用括号([])括起每个出现的单词。然而,最好的解决方案是将名称更改为非保留字。