1. 程式人生 > >Access中替代case when的方法

Access中替代case when的方法

最近在做一個用Access的東東,其中用到了case when的方式,但是Access是不支援這種語法的,查詢知道IIf和Swith可以作為替代,總結如下:

IIf(expr, truepart, falsepart) 


IIf 函式的語法含有下面這些命名引數: 
部分              描述 
expr 必要引數。用來判斷真偽的表示式。 
truepart 必要引數。如果 expr 為 True,則返回這部分的值或表示式。 
falsepart 必要引數。如果 expr 為 False,則返回這部分的值或表示式。

例項:

SELECT Q_SellOut.*,
iif(sell_month='1' or sell_month='2' or sell_month='3','Q1',iif(sell_month='4' or sell_month='5' or sell_month='6','Q2',iif(sell_month='7' or sell_month='8' or sell_month='9','Q3',iif(sell_month='10' or sell_month='11' or sell_month='12','Q4','Error')))) as Acct_Quarter
FROM Q_SellOut;

以上實現是找出來某月屬於哪個季度。

另外的Switch方式:

SELECT UserID,
             UserName,
             SWITCH(
            Sex = 'f',   '男',
            Sex = 'm', '女',
            True, '保密'
            ) AS SexName
from tUser
上述中最後一個Case為true,該用法類似於When Case語法中的Else。

相關推薦

Access替代case when方法

最近在做一個用Access的東東,其中用到了case when的方式,但是Access是不支援這種語法的,查詢知道IIf和Swith可以作為替代,總結如下: IIf(expr, truepart, falsepart)  IIf 函式的語法含有下面這些命名引數:  部分

excel 如何使用函式替代case when 進行轉換

最近有一個需求,將cxcel中”“事件型別”的狀態匯入資料庫,但是我要用到的是數值是int型別;如(1:運營中;2:提現困難;3:經偵介入;4:停業;5:跑路;6:已下線);現在使用exel公式進行轉換; 公式:=CHOOSE(MATCH(G2,{"提現困難","經偵介入"

MySQL使用case when 語句實現多條件查詢的方法

SELECT * FROM wqgj WHERE ((SELECT CASE 1 WHEN condition1滿足條件 THEN 1 ELSE 0 END FROM wqgj) +(SELECT

SQL語句case whenaccess的使用

select IIf(txtWidth=0,173,txtwidth) AS txtwidth,IIf(txtHeight=0,116,txtHeight) AS txtHeight  from table

【語法】SQLcase when then else end用法-解決一個字段根據條件取不同值

where 運行 pos 功能 enter cnblogs logs wro img Case具有兩種格式。簡單Case函數和Case搜索函數。 --簡單Case函數 CASE sex WHEN ‘1‘ THEN ‘男‘ WHEN

MySql 關鍵字 case when then else end 的用法

img closed sta bsp sql hid not weight one 解釋: 1 SELECT 2 case -------------如果 3 when sex=‘1‘ then

oraclecase when then else end 用法

values ID 你在 union 形式 sql語句 建議 而是 acl Case when 的用法,簡單Case函數 簡單CASE表達式,使用表達式確定返回值.   語法:   CASE search_expression   WHEN expression1 T

mysql使用case when 做where條件篩選表記錄

平時我們專案中經常用到 where  欄位名=值  來篩選查詢結果,但實際也會遇到這樣的情況,如果表中某個欄位code的值是“_1”結尾的,那麼就查全部,否則,根據輸入的引數查詢。 這時 case when 就派上用途了: select * from ta

SQLCASE WHEN語句

今天java新手群中有人出了這樣一道面試題:   一張表資料如下 1900-1-1 勝 1900-1-1 勝 1900-1-1 負 1900-1-2 勝 1900-1-2 勝 寫出一條SQL語句,使檢索結果如下:     &nb

MySQLcase when then end對於NULL值判斷容易犯錯的地方

sql中的case when 有點類似於Java中的switch語句,比較靈活,但是在Mysql中對於Null的處理有點特殊,之前被這個問題困擾過,這次又被困擾了,好記性不如亂筆頭,還是記一下印象會深刻一點。Mysql中case when語法: 語法1: CASE cas

SQLcase when then else end用法

Case具有兩種格式。簡單Case函式和Case搜尋函式。 --簡單Case函式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜尋函式 CASE

SQLCASE使用方法

Case具有兩種格式。簡單Case函式和Case搜尋函式。 --簡單Case函式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜尋函式 CASE WH

MySQL 排序使用 CASE WHEN

  在之前的一個專案中,使用到了SQL中使用 CASE WHEN 排序的功能。現在寫篇部落格備忘~   資料庫版本:MySQL 5.6.42   條件:某欄位代表該資料的狀態取值為非負整數,0表示無狀態。   需求:以該欄位升序排序,同時需要將值為0的資料放在最後。   首先我們看一下,表的結構:

oracle 在where條件case when

業務:當狀態等於2時判斷表中的userid 是否和當前登入人id相等 SELECT  * FROM  tbname t WHERE  1=1AND  (CASE  WHEN  t.vc_state = '2'  THEN  t.vc_userId ELSE  當前登入人id

SQLcase when then else end詳細用法

Case具有兩種格式。簡單Case函式和Case搜尋函式 --簡單Case函式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜尋函式 CASE WHE

記錄:mysqlcase when|on duplicate key update|重複插入返回主鍵的用法

在平時的開發中不免接觸到資料庫,這裡記錄一些平時開發中遇到的細節問題,與大家共勉。 mysql中的條件控制:case函式 在操作資料庫的開發中不免遇到一些類似if else的判斷,這時候就用到了Case函式,首先我們用網上用了好多次的例子來看看它的用法:

mysqlcase when 與if()

統計data_id>0的條數 count(CASE data_id WHEN data_id > 0 THEN data_id ELSE null END)  //直接用此方法統計出來是全

SQLServer2008 在where條件使用CASE WHEN

where  (case when LEN(A.startMonth)=1 and A.startMonth!=0 then cast((CAST(startYear as varchar(4))+'0'+cast(A.startMonth as varchar(1))) as date)        wh

[Excel常用函式] 使用函式替代case when

目的 將表格中C列 “AB標識” 中的0, 1,2,3,normal對應為"排序組",“排序組”,“對照組”,“對照組”,"正常組"。 公式 =CHOOSE(MATCH(C2,{0,1,2,3,”

Spark sqlcase when else

val dataSeq = sql("SELECT if(os.status_pay=1,1,0) " + " FROM OrderShopModel os ") .collect().foreach(println)Spark Sql因為支援Hive的UDF,所以