テスト中に、特定の注文でデータベースに誤った日付/時刻が入力されていることに気付きませんでした。日付と時刻を入力する代わりに、日付のみを入力しています。私は正しいタイムスタンプを使用していましたが、データベースに入力するためにcreateodbcdatetime(now())
使用していました。cfsqltype="cf_sql_date"
幸運なことに、注文日時が正しく記録されています。つまり、注文日時フィールドの時間を使用できます。
私の質問は、日付のみが入力されたテーブル内のすべての行をフィルタリングできますか。以下の私のデータ。
テーブル名: tbl_orders
uid_orders dte_order_stamp
2000 02/07/2012 03:02:52
2001 03/07/2012 01:24:21
2002 03/07/2012 08:34:00
テーブル名: tbl_payments
uid_payment dte_pay_paydate uid_pay_orderid
1234 02/07/2012 03:02:52 2000
1235 03/07/2012 2001
1236 03/07/2012 2002
tbl_payments から時間が入力されていないすべての支払いを選択できるようにする必要があります。その後、注文テーブルから時間を取得して結果をループし、それを支払いテーブルの日付に追加して、新しい日付/時間でフィールドを更新できます。
日付/時刻の再挿入はほとんど処理できます。よくわからない時間のない行を選択しているだけですか?
どんな助けでも大歓迎です。
以下は、注文と支払いの両方と、それらを結合する必要がある場合の select ステートメントです (参考までに)。
SQL Server 2008、Cold Fusion 9
SELECT
dbo.tbl_orders.uid_orders,
dbo.tbl_orders.dte_order_stamp,
dbo.tbl_payment.dte_pay_paydate,
dbo.tbl_payment.uid_pay_orderid
FROM
dbo.tbl_orders
INNER JOIN dbo.tbl_payment ON (dbo.tbl_orders.uid_orders = dbo.tbl_payment.uid_pay_orderid)
SELECT
dbo.tbl_orders.uid_orders,
dbo.tbl_orders.dte_order_stamp
FROM dbo.tbl_orders
SELECT
uid_paymentid,
uid_pay_orderid,
dte_pay_paydate,
FROM
dbo.tbl_payment