特定の日付範囲で受け取った返品注文のクエリを作成しました。目標は、オンラインとストアのために数時間で注文を見つけることです。ただし、注文はORDER_IDを返し、日付範囲外です。ここに私の質問です。私は返さORDER_ID
の一つでクエリを実行するとSQL Serverの日付範囲クエリが期待どおりに機能しない
SELECT
ORDER_ID
FROM
ORDERS
WHERE
TRANSACTION_TYPE = 'ONLINE' OR TRANSACTION_TYPE = 'STORE'
AND ORDER_COUNT > 0
AND (ORDER_DATE >= '2017-11-20 02:04:25.247'
AND ORDER_DATE< '2017-11-20 02:06:40.887')
は今、それが下の日付値外の日付範囲を返します。
SELECT ORDER_DATE FROM ORDERS WHERE ORDER_ID=104
ORDER_DATE
-----------
2017-11-24 10:10:14.520
これは間違いです。日付範囲が2017-11-20 02:04:25.247と2017-11-20 02:06:40.887の間にあると想定される場合、2017-11-20より大きい日付が返されるのはなぜですか?
たとえば、午後3時から午後8時の間、同じ日に注文が行われた場合など、数時間ごとに注文を見つけるためにクエリを修正するにはどうすればよいですか?
提案を試したところ、日付範囲に行があるにもかかわらず、行が表示されませんでした。
あなたはANDとORを混在させましたが、問題を避けるために括弧で囲んでください。 – Zorkolot