2

私がやろうとしていることは次のとおりです。3つの列(、、Control_OpenDate)がControl_Record AgeありControl_Stage2ます。行が挿入されると、(2013年1月27日Control_OpenDate)およびControl_RecordAge(計算列、数式を参照)に入力されます。

(datediff(day, [Control_OpenDate], getdate()))

これにより、最新の日数が得られます。

IFすべてが完璧に機能していますが、列にデータが入力されていない場合は常に、計算列に条件のように追加したいのでControl_Stage2、テキストを計算または追加しないでください...

WHERE上記の式に-ステートメントを追加するにはどうすればよいですか?

注:このような数式を列のプロパティに直接入力しています。これを実行できるクエリがあることはわかっていますが、数式を使用して入力する方法はあります。

4

2 に答える 2

5

これは、ここCASEに示すように、-ステートメントを使用して実行できます。

ロジックは次のようになります。

(CASE 
    WHEN [Control_Stage2] IS NULL THEN NULL -- or -1 or what you like
    ELSE datediff(day,[Control_OpenDate],getdate())
END)
于 2013-01-27T20:54:29.057 に答える
0

これは、三項ステートメント(IIF)として記述することもできます。

IIF(boolean_expression、true_value、false_value)

IIFは、CASE式を作成するための簡単な方法です。最初の引数として渡されたブール式を評価し、評価の結果に基づいて他の2つの引数のいずれかを返します。つまり、ブール式がtrueの場合はtrue_valueが返され、ブール式がfalseまたは不明の場合はfalse_valueが返されます。

例えば

iif([Control_Stage2] is null, null, datediff(day,[Control_OpenDate],getdate()))
于 2019-11-13T14:51:15.363 に答える