2016-08-25 3 views
1

に、私はこれらのクエリを持って、結果を混乱します。は、SQL Serverの

enter image description here

しかし、私は、それはこれが非常に混乱して

enter image description here

であることが判明した2番目のクエリを実行すると、私は間違っているつもりどこに私が知っているとどのように私はこの問題を解決することができますしてください。

ありがとうございました。

+0

。差異の原因となるこの他の「ログアウト」はどこにありますか?テーブルはすでに 'logout'の値を持っていますか?もしそうなら、その値は何ですか? –

+0

こんにちは@vkp、申し訳ありませんが、私の悪い。これはJDBCプログラムであり、 'logout'はボタンクリックからキャプチャされ、これはスクリーンショット(最初のスクリーンショットのログアウト)に入力されたものです – user3872094

答えて

2

クエリのこの部分は間違っています:

set logout = ?, totaltime = DATEDIFF(second, login, logout) 

これはのparamから新しい値にlogoutを設定しますが、loginと以前に既存の間の秒の差に等しいtotaltimeを設定していますlogout値。したがって、前のlogoutの値が2016-08-25 20:23:28.000である必要があるため、394しか表示されないのはなぜですか。

は、この問題を解決するには、 DATEDIFF()関数に同じ ?のparamに渡す必要があります:あなたは `` update`でlogout`を設定すると `totaltime`を設定するために、再びそれを使用している

set logout = ?, totaltime = DATEDIFF(second, login, ?) 
+0

素晴らしい、友人、これは素晴らしい:) – user3872094