アクセスに 2 つの日付/時刻列がLAST_ORDER_DT
あり、すべての売上の年SALE_DT
を次の年に更新したいdates(SALE_DT)
LAST_ORDER_DT
次のステートメントを試しましたが、構文エラーがスローされました。
UPDATE ORDERS_TEMP SET YEAR(SALE_DT)=YEAR(LAST_ORDER_DT)
助けてください。
アクセスに 2 つの日付/時刻列がLAST_ORDER_DT
あり、すべての売上の年SALE_DT
を次の年に更新したいdates(SALE_DT)
LAST_ORDER_DT
次のステートメントを試しましたが、構文エラーがスローされました。
UPDATE ORDERS_TEMP SET YEAR(SALE_DT)=YEAR(LAST_ORDER_DT)
助けてください。
あなたの質問を理解しているように、あなたはSALE_DT
of#2011-09-30#
とLAST_ORDER_DT
ofを持っている可能性があり、に変更し#2012-10-10#
たい.SALE_DT
#2012-09-30#
その場合は、DateSerial()
関数を使用しSALE_DT
て、適切な年、月、日の値から再構築できます。
UPDATE ORDERS_TEMP
SET SALE_DT =
DateSerial(
Year(LAST_ORDER_DT),
Month(SALE_DT),
Day(SALE_DT)
);
値の時刻が真夜中の場合、これは機能するはずSALE_DT
です。時刻がそれ以外の場合は、その部分も追加する必要があります。
UPDATE ORDERS_TEMP
SET SALE_DT =
DateSerial(
Year(LAST_ORDER_DT),
Month(SALE_DT),
Day(SALE_DT)
)
+ TimeValue(SALE_DT);
SALE_DT
とLAST_ORDER_DT
に Null を含めることができる場合は、これらの行をUPDATE
クエリから除外する必要があります。
WHERE SALE_DT Is Not Null AND LAST_ORDER_DT Is Not Null