-1

次のクエリがあります。

SELECT QuoteReference, CreatedDate, StartDate, EndDate, Operation, OccurredAt, PerformedBy, FieldName, OldValue, NewValue
FROM Quotes, Audit  
WHERE Quotes.ID = Audit.RowId
AND PaymentReference is not null 

AND Audit.OccurredAt > Quotes.CompletedDate 
AND Quotes.CreatedDate between '2010-04-01 11:00:00.027' AND '2010-07-30 11:39:22.027'
and TableName = 'QUOTE' OR TableName = 'Quotes'
ORDER BY  Audit.OccurredAt desc

多くのことを試したにもかかわらず、「quotes.createddate between...」行で、結果セットをフィルタリングして、作成日がそれらの時間の間 (2010 年 4 月 1 日から 2012 年 7 月 30 日) のレコードを含めることはできません。これどうやってするの?

4

2 に答える 2

0

日付範囲が正しくありません。次を使用してください。

between '2010-04-01 00:00:00:000' AND '2012-07-30 23:59:59:999'
于 2012-12-10T12:54:49.033 に答える
0

if anyISO DATETIME FORMAT (yyyymmdd or yyyy-mm-ddThh:mi:ss.mmm)をソートするために使用します。また、WHERE table1、table2、..の代わりにテーブルを試してください。date formatting issue USE JOIN

他の条件に問題がなければ、次のクエリでレコードが取得されます。

SELECT QuoteReference, CreatedDate, StartDate, EndDate, Operation, 
       OccurredAt, PerformedBy, FieldName, OldValue, NewValue

FROM Quotes JOIN Audit ON Quotes.ID = Audit.RowId --JOIN TABLES
WHERE PaymentReference is not null 
      AND Audit.OccurredAt > Quotes.CompletedDate 
      AND Quotes.CreatedDate 
            BETWEEN '20100401' AND '20100730' --Time ignored purposely for checking
      AND TableName IN  ('Quote','Quotes')
ORDER BY  Audit.OccurredAt desc
于 2012-12-10T12:52:57.390 に答える