2016-05-09 5 views
-4

私はEmailID_tblを持っています。ユーザーは過去4ヶ月以内です値が4ヵ月以上経過している場合にテーブル内の値を削除するクエリが必要です詳細をご覧ください

+1

どのような詳細情報がありますか? – flyingmeatball

+0

そのリクエストは実際には「ユーザーの最終ログイン日が4か月を超えた場合にEmailID_tblから電子メールを削除する」と言うべきでしょうか?それは、ログオンしていないユーザーを引き続き保持することを意味しますが、アクティブなユーザーは削除します。 – quest4truth

+0

「EmailID_tblから電子メールを削除する」という要求があるユーザーの電子メールアドレスを持つEmailID_tblがありますユーザーの最後のログイン日は過去4ヶ月以内です。 " EmailID_tblで4か月以上経過した電子メールを削除する方法は? –

答えて

1

これらが同じテーブルにあると仮定すると、あなただけの現在の日付をもたらすことになる、GETDATE()から適切な月数を減算するDATEADD()機能経由で削除する必要があるかを決定するためにWHERE句を使用することができます。

ここで
-- This would delete every record in your table with LastLoginDates 
DELETE 
    FROM EmailID_tbl 
WHERE LastLoginDate < DATEADD(month,-4,GETDATE()) 
+0

私はあなたがGETDATEを使うことを意味すると思います。 NOWはt-SQL関数ではありません。 –

+0

はい、そうです。 SQL Serverと少しのMySQLを混同しました。 –

1

はそれを行いますクエリです:あなたのテーブル内の実際の名前に

DELETE 
FROM EmailID_tbl 
WHERE LastLoginDate <= DATEADD(mm, -4, GETDATE()) 

変更LastLoginDate最後にログインした日時を示し、を変更します〜>=が表示されます。これは、実際にはより多くのアクティブユーザーを削除することを意味します。

関連する問題