【專案實戰】---SQLServer中case when的簡單用法
前言:
對於SqlServer中case when 的應用在專案中進行了應用,現在做個簡單的總結。
case when 語句兩種語法:
1.簡單的case函式:
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
2.case搜尋函式:
CASE
WHEN FID IS NULL THEN '未開始'
WHEN state > 0 THEN '進行中'
ELSE '已完成' END)state
FROM TABLE
所謂簡單Case函式其寫法相對比較簡潔,但是和Case搜尋函式相比,功能方面會有些限制,比如寫判斷式。另外,注意Case函式只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。
case when在語句中位置:
1、select case when:
SELECT state.OrderNumber,
(CASE
WHEN FID IS NULL THEN '未開始'
WHEN state > 0 THEN'進行中'
ELSE '已完成'
END)state
FROM table
2、where case when:
SELECT type,name
FROM t_table1 as l, t_table2 as u
WHERE (CASE WHEN l.type = '班長' AND u.ID = '1'
THEN 1
WHEN l.letterType = '班長' AND u.ID <> '1'
THEN 1
ELSE 0
END) = 1
3、group by case when:
SELECT
CASE WHEN age <= 10 THEN '1'
WHEN age > 10 AND salary <=20 THEN '2'
WHEN salary > 20 AND salary <=30 THEN '3'
WHEN salary > 30 AND salary <= 40 THEN '4'
ELSE NULL END 等級, -- 別名命名
COUNT(*)
FROM t_age
GROUP BY
CASE WHEN age <= 10 THEN '1'
WHEN age > 10 AND salary <=20 THEN '2'
WHEN salary > 20 AND salary <=30 THEN '3'
WHEN salary > 30 AND salary <= 40 THEN '4'
ELSE NULL END;
總結:
對於case when的理解小編的認識還不夠深刻,通過簡單的例子的應用不斷的加深認識,希望能對大家所有幫助,有不足之處還望指出。
相關文章
- SQLServer使用case when中的order bySQLServer
- 案例:oracle中case when的用法Oracle
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法Oracle
- SQL中的case when then else end用法SQL
- sql server select case when的用法SQLServer
- SQL中的case when then else end用法 【詳細】轉載SQL
- oracle面試題[關於case when的用法]Oracle面試題
- mysql中case when的使用MySql
- mysql中的case when 與if()MySql
- SQL中的CASE WHEN使用SQL
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- scrapy實戰專案(簡單的爬取知乎專案)
- sql中case when的小學SQL
- sqlserver與oracle case when else ,isnull語法差別SQLServerOracleNull
- 簡單專案實戰flutter(功能篇)Flutter
- Oracle 中 case的用法Oracle
- sqlserver使用order by case when進行優先順序排序SQLServer排序
- 簡單專案實戰flutter(佈局篇)Flutter
- Oracle Case WhenOracle
- SQL Case WhenSQL
- Oracle的order by case whenOracle
- 轉 sql 中 case 的用法SQL
- mysql case when then 使用MySql
- Case when 支援變數變數
- case when遇上null值Null
- SQL Case when 的使用方法SQL
- oracle plsql case when_end case小記OracleSQL
- Oracle case when改寫SQLOracleSQL
- ORACLE多欄位CASE WHENOracle
- PL/SQL Case when應用SQL
- sql case when, Exist ,group by ,聚合SQL
- SQL Server CASE WHEN ... THEN ... ELSE ... ENDSQLServer
- 【C#入門超簡單】簡單的專案實踐C#
- 專案實戰之gradle在實際專案中的使用Gradle
- JWT在專案中的簡單應用JWT
- plsql_case when_end case學習小例SQL
- 實戰專案之自動簡歷
- 專案實戰之Rxjava、RxBinding在實際專案中的使用RxJava