2012-01-20 6 views
1

私はsqlserverで初めてです。私はちょうどそれを学び始めました。質問があります。 **過去6ヶ月間に追加されたすべての行を表示できるSQLクエリが必要です。テーブル 'ユーザ'の日付はフィールドに '結合'されていますが、UNIXのタイムスタンプ形式では検索するSQLクエリ

**と同じですが、別のSQLクエリを上記と同じにしたいのですが、 'はい'

に各行では、私はそのコードを試みた:

select * from users where time_of_post is like '07/**/2011' 

** = anydayをしかし、私は右のそれを実装can`t。

ご協力いただきありがとうございます。あなたが使用したい何

答えて

1
select * 
from users 
where datediff(mm, time_of_post, getdate()) <= 6 

DATEDIFF()関数であり、今日の日(GETDATE())と保存された日付(time_of_post)との差を取得します。それが6ヵ月以下(最初のパラメータで示されるように、mm)であれば、それはあなたが探しているものでなければなりません。

EDIT

あなたがUPDATEのために、このロジックを使用することを探しているなら、あなたはこのような何かしたい:

update users 
set activation = 'yes' 
where datediff(mm, time_of_post, getdate()) <= 6 
and activation <> 'yes' 
+0

を次に2番目のクエリは次のようになります。(ユーザーに挿入ユーザーが から選択した ここで、datediff(mm、time_of_post、getdate())<= 6) –

+0

@ R.Vector実際には、ユーザーレコードを更新するだけのようですね。私の編集を見てください。それがあなたが望むものなら、私に教えてください。 –