Access 查询的IIF的写法
寫到文章最前面的我想應(yīng)該是干貨或者解決辦法,
accessoft網(wǎng)上提供一種方法,但是這種方法解決問題不夠徹底!方法是什么?為什么不夠徹底?
方法是直接用cint函數(shù)轉(zhuǎn)換,但是轉(zhuǎn)換出來之后true變成了-1,
而false沒有問題,是0,這就尷尬了,那我一定要是0代表false,1代表true怎么辦?
只能用iif.
最近遇到一個問題,我數(shù)據(jù)庫里面的數(shù)據(jù)類型是TRUE/FALSE,
但是我輸出的東西需要是0或者1,這樣的話,就比較煩人了,
本來可以直接導(dǎo)出的數(shù)據(jù),我需要進(jìn)行一下轉(zhuǎn)換,
這個時候我想到了SQL SERVER里面有CASE WHEN語句,
這個語句可以根據(jù)選擇的數(shù)據(jù)類型來判斷最終的輸出結(jié)果,
但是ACCESS 里面有沒有這個寫法?
答案是有的,但是格式和SQL SERVER要難理解一些,
這個正常的,畢竟ACCESS是SQL SERVER的小弟,不能要求太多.
所以應(yīng)該是怎么做呢?
語句如下:
哇,這個好難,我們學(xué)東西的話是需要從最簡單的案例,來慢慢往上面疊加復(fù)雜的條件,
那最簡單的案例是什么?
表達(dá)式:IIf([庫存數(shù)量] < [庫存下限], ‘短缺’, ‘超出’)
結(jié)果:如果[庫存數(shù)量]<[庫存下限],則返回‘短缺’,否則’超出’。
我想這個應(yīng)該是比較簡單的案例了吧?但是仔細(xì)看了一下還是比較復(fù)雜!
那更簡單的案例是什么?
表達(dá)式:=IIf([購買日期]<#1/1/2008#,”舊”,”新”)
結(jié)果:如果 [購買日期] 早于 1/1/2008,則返回“舊”。否則,返回“新”。
所有案例
網(wǎng)站上IIf函數(shù)不少,幫助上也有,可示例太少,大家有時還看不明白。以下是最直白的示例,希望對你有用! 表達(dá)式:=IIf([機(jī)場代碼]="ORD","芝加哥",IIf([機(jī)場代碼]="ATL","亞特蘭大",IIf([機(jī)場代碼]="SEA","西雅圖","其他"))) 結(jié)果:如果 [機(jī)場代碼] 為“ORD”,則返回“芝加哥”。否則,如果 [機(jī)場代碼] 為“ATL”,則返回“亞特蘭大”。否則,如果 [機(jī)場代碼] 為“SEA”,則返回“西雅圖”。否則,返回“其他”。 表達(dá)式:=IIf([發(fā)貨日期] 結(jié)果:如果 [發(fā)貨日期] 早于今天的日期,則返回“已發(fā)貨”。否則,如果 [發(fā)貨日期] 等于今天的日期,則返回“今天發(fā)貨”。否則,返回“未發(fā)貨”。 表達(dá)式:=IIf([購買日期]<#1/1/2008#,"舊","新") 結(jié)果:如果 [購買日期] 早于 1/1/2008,則返回“舊”。否則,返回“新”。 表達(dá)式:=IIf(Eval([電壓] Between 12 And 15 And [安培] Between 0.25 And 0.3),"正常","未校準(zhǔn)") 結(jié)果:如果 [電壓] 介于 12 和 15 之間,而 [安培] 介于 0.25 和 0.3 之間,則返回“正常”。否則,返回“未校準(zhǔn)”。 表達(dá)式:=IIf(Eval([國家/地區(qū)] In ("加拿大","美國","墨西哥")),"北美地區(qū)","其他") 結(jié)果:如果 [國家/地區(qū)] 為“加拿大”、“美國”或“墨西哥”,則返回“北美地區(qū)”。否則,返回“其他”。 表達(dá)式:=IIf([平均值]>=90,"A",IIf([平均值]>=80,"B",IIf([平均值]>=70,"C",IIf([平均值]>=60,"D","F")))) 結(jié)果:如果 [平均值] 大于或等于 90,則返回“A”。否則,如果 [平均值] 大于或等于 80,則返回“B”。否則,如果 [平均值] 大于或等于 70,則返回“C”。否則,如果 [平均值] 大于或等于 60,則返回“D”。否則,返回“F”。 表達(dá)式:IIf([庫存數(shù)量] < [庫存下限], '短缺', '超出') 結(jié)果:如果[庫存數(shù)量]<[庫存下限],則返回‘短缺’,否則'超出'。 表達(dá)式:IIf(庫存數(shù)量 < 庫存下限, 庫存數(shù)量 - 庫存下限, 庫存數(shù)量 - 庫存上限) 結(jié)果:如果[庫存數(shù)量]<[庫存下限],則返回‘庫存數(shù)量-庫存下限’,否則‘庫存數(shù)量-庫存上限’。注釋 如果您使用 IIf 函數(shù)在查詢中創(chuàng)建計算字段,請將等號 (=) 替換為字段別名 (別名 (SQL):表達(dá)式中表或字段的可選名稱。通常用來縮短表或字段名以便以后在代碼中引用,這樣可防止可能出現(xiàn)的模糊引用或者在查詢輸出中提供更具描述性的名稱。)和一個冒號 (:)。 例如,狀態(tài): IIf([發(fā)貨日期]<Date(),"已發(fā)貨",IIf([發(fā)貨日期]=Date(),"今天發(fā)貨","未發(fā)貨")) 提示:如果取不同表的字段時,寫法‘[表名稱].[字段名]’,切不可直接寫字段比較。知識的來源是搜集,整理,理解,運(yùn)用的過程!
總結(jié)
以上是生活随笔為你收集整理的Access 查询的IIF的写法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旷视研究院夺得 NeurIPS 2021
- 下一篇: 龙珠人物展开菜单