3 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個贊
您可以改用該IIF()函數(shù)。
IIF(condition, valueiftrue, valueiffalse)
condition 是您要測試的值。
valueiftrue 是在條件評估為TRUE時返回的值。
valueiffalse 是在條件評估為FALSE時返回的值。
Switch當(dāng)您有多個條件要測試時,還有一個易于使用和理解的功能:
Switch( expr-1, value-1 [, expr-2, value-2 ] … [, expr-n, value-n ] )
開關(guān)函數(shù)參數(shù)列表由成對的表達(dá)式和值組成。從左到右對表達(dá)式進(jìn)行求值,并返回與第一個要求值為True的表達(dá)式相關(guān)聯(lián)的值。如果零件未正確配對,則會發(fā)生運(yùn)行時錯誤。例如,如果expr-1為True,則Switch返回value-1。如果expr-1為False,但expr-2為True,則Switch返回value-2,依此類推。
在以下情況下,Switch返回Null值:
這些表達(dá)式都不是真的。
第一個True表達(dá)式的對應(yīng)值為Null。
注意:Switch計算所有表達(dá)式,即使它僅返回其中之一。因此,您應(yīng)該注意不良副作用。例如,如果對任何表達(dá)式求值導(dǎo)致除以零誤差,則會發(fā)生錯誤。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊
switch
如果要評估的條件更多,則該函數(shù)是要使用的更好的函數(shù)。與使用嵌套IIF
函數(shù)相比,它更易于閱讀/理解/維護(hù)。另外,實(shí)現(xiàn)默認(rèn)值而不是創(chuàng)建基本上計算為“所有先前表達(dá)式均為假”的邏輯表達(dá)式的另一種方法是僅用true
作要評估的最終表達(dá)式。例如switch(dbo_tbl_property.LASTSERVICEDATE > Contour_dates.[Last CP12 Date], dbo_tbl_property.LASTSERVICEDATE, true ,Contour_dates.[Last CP12 Date])
添加回答
舉報