請問關於SQL語法中IIF這函數Access&MSSQL |
尚未結案
|
asupeduer
初階會員 發表:36 回覆:49 積分:27 註冊:2002-11-08 發送簡訊給我 |
在Access中,有一個函數叫IIF,使用方式為IIF(bool,'true','false')
假設一資料表TableX一欄位AA為布林值,則IIF(AA,'男生','女生')
Select IIF(AA,'男生','女生') From TableX
則可直接顯示該為男生或女生...... 然而在MS SQL SERVER 2000 中T_SQL卻不支援直接用IIF這個函數,
請問標準的ANSI SQL語法或T_SQL語法中,如何將布林值直接轉換
顯示成為一替代文字?或有其他好方法或語法嗎?請各位前輩指教 ps:其實我想做的是IIF((Cast(Lfet(發票號碼,2) as int))<50),'1','2')
發票號碼的最後兩碼作為判斷,小於50的在第一頁明細表,大於50的再第二頁 //------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
------
//------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------ |
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
引言: ps:其實我想做的是IIF((Cast(Lfet(發票號碼,2) as int))<50),'1','2') 發票號碼的最後兩碼作為判斷,小於50的在第一頁明細表,大於50的再第二頁MS-SQL 不支援 IIF, 請改用 CASE 的語法. 可以參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25262 你的 IIF((Cast(Left(發票號碼,2) as int))<50),'1','2') 可以改為 Case when (Cast(Left(發票號碼,2) as int))<50 then '1' Else '2' End 即可!! |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |