DateTimeフィールドにDATE_SUBを使用しているときに問題が発生しています。私はこのようなクエリを使用したい:MySql Between節のDATE_SUBの使用方法
SELECT
*
FROM
SellBySalesman
WHERE
userid=37 and
sellingDate BETWEEN CURDATE() AND DATE_SUB(CURDATE(), INTERVAL 7 DAY)
DateTimeフィールドにDATE_SUBを使用しているときに問題が発生しています。私はこのようなクエリを使用したい:MySql Between節のDATE_SUBの使用方法
SELECT
*
FROM
SellBySalesman
WHERE
userid=37 and
sellingDate BETWEEN CURDATE() AND DATE_SUB(CURDATE(), INTERVAL 7 DAY)
あなたはこのような間の順序を反転する必要があります。
SELECT
*
FROM
SellBySalesman
WHERE
userid=37 and
sellingDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE();
私はあなたが取得しているか、エラーを確認していないが、これは動作しませんが。その理由は、BETWEEN句の引数が逆になっているためです。 BETWEENは、最初の引数がminで、2番目の引数がmaxであることが必要です。 DATE_SUBは、指定された日付から現在の日付よりも小さい間隔を減算します。後方いるあなたの値の間
SELECT
*
FROM
SellBySalesman
WHERE
userid=37 and
sellingDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
正確で論理的です。ありがとう@Buggabill。これが選択された回答でなければなりません。 –
:
はこのような何かを試してみてください。
最初に小さな値を指定する必要があります。「10と1の間ではなく」1と10の間に指定します。
だから、あなたのケースでは、あなたが欲しい "DATE_SUB(INTERVAL DAY 7 CURDATE()、)およびCURDATE(間)"
そして、問題がありますか...? – dgw