で今日の日付から4ヶ月前のASP内のレコードのリマインダーを作成したいです。は、私はこのクエリを書かれているSQL Serverの
答えて
これは、時間(時間、分、...)に敏感であることが
WHERE Dateofservice >= DATEADD(MONTH,-4,GETDATE())
今日から4月のデータの前に戻ります、これを試してみてください:
SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email
FROM tbmMember
WHERE Dateofservice >= DATEADD(MONTH,-4,GETDATE())
AND Dateofservice <= GETDATE()
この1つは時間に敏感ではありません。
SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email
FROM tbmMember
WHERE Dateofservice >= CONVERT(date, DATEADD(MONTH,-4,GETDATE()))
AND Dateofservice <= CONVERT(date, GETDATE())
Dateofserviceが日付タイプであると仮定します。
------------- EDIT -----------------
あなただけのバック4ヶ月のデータを必要とする場合:
SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email
FROM tbmMember
WHERE Dateofservice = CONVERT(date, DATEADD(MONTH,-4,GETDATE()))
DateofService
が日付タイプでなければならないことに注意してください、そうでなければ、あなたは、単に4ヶ月のバック今日から日付とあなたの記録の日付を比較したい場合は、同様CONVERT(date, Dateofservice)
によって日付として
ありがとうございます。これは働いていますが、4ヶ月前の全記録を戻しています。今日の日付から4ヶ月前の今日の記録が欲しいです。例:今日の日付が3月2016日である場合、私は2016年4月3日の記録のみを望みます。 – Ashley2605
最後のクエリが機能しました。ありがとう。 – Ashley2605
をそれを変換する必要がありますあなたがそれを達成する方法はここにあります:
SELECT
MemberId
,Title
,LastName
,FirstName
,MiddleName
,Occupation
,Productof
,Dateofpurchase
,Dateofservice
,Address
,City
,Pin
,Phone
,MobileNo1
,Email
FROM
tbmMember
WHERE
CONVERT(Date,Dateofservice) = CONVERT(Date, DATEADD(MONTH, - 4, GETDATE()))
私が正しくあなたを得た場合は、DateofServiceが4か月前のすべてのレコードを取得したいのですか?例えばもし今日が8月3日であれば、DateofServiceが4月3日以前にあったすべてのレコードが欲しいです。あれは正しいですか?あなたの質問のタイトルと説明が何らかの形で矛盾しているようです。 – RBT
いいえ、今日の日付が8月3日であれば、私は4月3日のレコードしか必要としませんでした。解決策が見つかりました。日付更新、働いた。 – Ashley2605