我正在使用
Select Customer.QuoteID, Quote.QuoteID
From Customer, Quote
Where Customer.QuoteID=Quote.QuoteID
Order By Quote.QuoteID
然后我想指定一个日期范围 (Quote.CreationDate) 或至少显示大于 2013 年 3 月 31 日的日期,但我不确定如何添加它?
我希望最终在 Delphi 中使用一个对话框来选择日期范围......
要按日期范围限制,您可以执行以下操作:
Select Customer.QuoteID, Quote.QuoteID
From Customer, Quote
Where Customer.QuoteID = Quote.QuoteID
and Quote.CreationDate between :date_from and :date_to
Order By Quote.QuoteID
您的日期参数:date_from
在哪里?:date_to
您可以将这些添加到 where 子句中:
Select Customer.QuoteID, Quote.QuoteID
From Customer, Quote
Where Customer.QuoteID=Quote.QuoteID
And Quote.CreationDate > '2013-03-31'
Order By Quote.QuoteID
这里是标准的 ANSI 连接语法,通常是首选的,在这种情况下我发现它更容易阅读:
Select Customer.QuoteID, Quote.QuoteID
From Customer
Inner Join Quote On Customer.QuoteID = Quote.QuoteID
Where Quote.CreationDate > '2013-03-31'
Order By Quote.QuoteID
或者,如果您正在寻找两个日期之间的范围:
Select Customer.QuoteID, Quote.QuoteID
From Customer
Inner Join Quote On Customer.QuoteID = Quote.QuoteID
Where Quote.CreationDate >= '2013-03-31'
AND Quote.CreationDate <= '2013-04-02'
Order By Quote.QuoteID
最后,在某些 RDBMS 平台上,您也可以使用BETWEEN
运算符,但我上一个示例中的语法将始终有效。