-1

日付の計算は私の得意分野ではなく、少し助けが必要です。選択したフィールドの日付 (タイムスタンプ) が当日の午後 12 時より前かどうかを確認しようとしています。前もって感謝します。

シナリオ: その日の午後 12 時までに注文が行われた場合、x の資格があり、それ以外の場合は y の資格があります。したがって、その注文の作成日 (時刻を含む) は、select ステートメントで取得するものです。

4

1 に答える 1

1

タイプには時間情報が含まれDATEていないため、日付がどの時点であるかを定義するのはユーザーの責任です。TIMESTAMP時間情報も重要な場合は、typeを使用する必要があります。とにかく、フィールドに日付を午後12時に保存するとすると、次のようになります。

WHERE date_field <= CURRENT_DATE;

CURRENT_DATE明らかに現在の日付を返す、いわゆるコンテキスト変数です。CURRENT_TIMESTAMPともCURRENT_TIMEご利用いただけます。DATEADDおよびDATEDIFF組み込み関数を使用して、いくつかの日付計算を行うことができます。

したがって、フィールドが実際にタイムスタンプである場合は、次のように実行できます。

WHERE date_field < DateAdd(12 HOUR to cast(CURRENT_DATE as timestamp));
于 2013-02-19T11:02:11.830 に答える