在將一些 Access 查詢轉換為 T-SQL 時,我遇到了 Access 函式 IIf。我閱讀了此處的檔案并了解它需要 3 個引數:運算式、if true 和 if false。我還沒有發現是否需要“假”引數?如果未提供 false,則行為是什么?
更新: 當問到這個問題時,我不知道查詢是否只使用 2 個引數(b/c 我無法在 Access 中運行查詢)。但是,我確實懷疑它可能會起作用(只有 2 個引數) b/ca 我正在轉換(到 T-SQL)的一些查詢具有嵌套的 IIF,而最后一個 IIF 只有 2 個引數。
uj5u.com熱心網友回復:
是IIf,不是IFF。VBA 和文本框運算式中需要所有引數,并且兩者都必須是可計算的(沒有錯誤結果,例如 DivBy0),因為這兩個部分都將被計算 - 如果有任何一個錯誤,整個運算式都會出錯。Access 查詢中的 IIf() 的作業方式不同 - 'falsepart' 僅在 'truepart' 失敗時計算,如果未提供 'falsepart',則如果 'truepart' 失敗,則運算式回傳 Null。
嘗試一些運算式,看看會發生什么。一種用于測驗:IIf(1=2,"T").
uj5u.com熱心網友回復:
June7 優秀回答的附錄:
下面是兩個在 Access SQL 中作業的簡單查詢:
SELECT IIf(1=1, "yes")
(回傳“是”)
SELECT IsNull(IIf(1=2, "yes"))
(回傳 -1 aka True) - 因此,如果您省略falsepart,IIf()如果expr不計算為 True,則確實回傳 NULL 。
uj5u.com熱心網友回復:
是的,它是必需的,它實際上就像一個 if else 陳述句。
即如果條件滿足則發生一個動作,如果條件不滿足則發生另一個動作
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382297.html
上一篇:子表單可以在父表單之外嗎?
下一篇:共享訪問資料庫-無法創建鎖定檔案
