2016-11-29 26 views
0

日付文字列を使用してテーブルからデータを選択しています。私は、更新タイムスタンプが今日よりも大きいか等しいすべての行を選択したいと思います。SASでの現在の日付時刻の使用

私が考えることができる最も簡単な方法は、今日の日付を文字列に入れることです。それはうまく動作します。

WHERE UPDATE_DTM> '29NOV2016:12:00'DT;

ただし、今日の日付やシステム日付のようなものを入力したい場合は、何を入れる必要がありますか? today()を使用しましたが、テーブルのすべての行が返されました。 SASの今日()は、1960年1月1日の日付を参照しているからですか?私も& sysdateを試しましたが、日付変換が必要なようなエラーメッセージが表示されました。

WHERE UPDATE_DTM> TODAY();

アイデア?あなたの考えは非常に高く評価されています!

+0

1/1/1960に設定されているマシンで実行しない限り、 'today()'は1/1/1960を参照しません。 – Joe

答えて

3

DATETIME()は、TODAY()のdatetimeに相当します(現在の時刻を含みます)。効果的な真夜中を望む場合はdhms(TODAY(),0,0,0)を使用することもできます(または、上記の例では、今日正午にdhms(TODAY(),12,0,0)を取得する)。

+0

ありがとう!それは多くの助けとなりました。別の変数BEG_DATE = TODAY()を設定し、日付形式を変換することを考えていました。あなたが提供したものはずっと簡単で素晴らしい作品です! –

関連する問題