2017-01-30 22 views
0

日付のいずれかがNULLかどうかに基づいて、2つの日付フィールドの間の日数を計算する必要があります。日付変数がnullの場合は、今日の日付を組み込む必要があります。助けてください。 SASユーザーがAccess 2010データベース内の他のユーザーのクエリを設定しようとしています。私は私のクエリに挿入するSQL言語を探しています。どうもありがとう!If-thenステートメント内の日付計算

ex。

if dbo.nameoftable[date1] <> " " then time = [date1] - [date2] 
elseif dbo.nameoftable[date1] = " " then time = ?todays date - [date2]endif; 

ありがとうございます!

+0

それはあなたが求めているものは不明です。あなたは言語にタグをつけておらず、 "SQLで助けてください"と言っても、これはSQLのようには見えません。または、そうであれば、あなたが働いているSQLのどんな風味があるのか​​ははっきりしません。 [どうすれば良い質問をしますか?](http://stackoverflow.com/help/how-to-ask)を読んで、ここに戻って質問を編集してください。ありがとう。 –

+0

こんにちはマット、私は混乱のためにお詫び申し上げます。私は他のユーザーがAccessで使用するためのクエリを作成するように求められている、熟練したSASユーザーです。 Accessでif-thenステートメントを作成するための言語のヘルプを求めています。私がアクセスしているときは、基礎となるSQL言語を見ることができます。私はAccess 2010を使用しています。 – Kathy

答えて

0

if-thenロジックは必要ありません。 Nz関数を使用するだけで、フィールドがnullの場合に使用する値を指定できます。

また、作業しているユニットを明示するには、-ではなく、DateDiffを使用する必要があります。

現在の日付については、Date機能を使用してください。これは、クエリが実行されているコンピュータのローカルタイムゾーンの現在の日を返します。

すべて一緒にそれを置く:

SELECT DateDiff('d', [date2], Nz([date1], Date())) AS [DifferenceInDays] FROM nameoftable;