0

我正在使用

  Select Customer.QuoteID, Quote.QuoteID
    From Customer, Quote
   Where Customer.QuoteID=Quote.QuoteID
Order By Quote.QuoteID

然后我想指定一个日期范围 (Quote.CreationDate) 或至少显示大于 2013 年 3 月 31 日的日期,但我不确定如何添加它?

我希望最终在 Delphi 中使用一个对话框来选择日期范围......

4

2 回答 2

6

要按日期范围限制,您可以执行以下操作:

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

于 2013-04-02T20:24:54.787 回答
2

您可以将这些添加到 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运算符,但我上一个示例中的语法将始终有效。

于 2013-04-02T20:23:49.233 回答