【專案實戰】---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
- SQL中的case when then else end用法 【詳細】轉載SQL
- mysql中case when的使用MySql
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- sqlserver使用order by case when進行優先順序排序SQLServer排序
- scrapy實戰專案(簡單的爬取知乎專案)
- 簡單專案實戰flutter(功能篇)Flutter
- case when 語句
- 簡單專案實戰flutter(佈局篇)Flutter
- sql case when, Exist ,group by ,聚合SQL
- Oracle case when改寫SQLOracleSQL
- SQL Server CASE WHEN ... THEN ... ELSE ... ENDSQLServer
- Python中的selenium的簡單用法Python
- 【C#入門超簡單】簡單的專案實踐C#
- 專案實戰之gradle在實際專案中的使用Gradle
- 在 SpringBoot 專案中簡單實現 JWT 驗證Spring BootJWT
- C++中const的簡單用法C++
- JWT在專案中的簡單應用JWT
- Oracle group by與case when統一單位後統計數量Oracle
- 專案實戰之Rxjava、RxBinding在實際專案中的使用RxJava
- springboot簡單的專案Spring Boot
- 實戰專案之自動簡歷
- MySQL中case?when對NULL值判斷的踩坑記錄RTGYMySqlNull
- fstream中ifstream和ofstream的簡單用法
- Spring Boot實際專案用簡單的AOPSpring Boot
- Oracle vs PostgreSQL Develop(30) - Index&Case whenOracleSQLdevIndex
- 微服務架構專案實戰:Spring Boot 如何建立簡單的 REST 服務微服務架構Spring BootREST
- Promise的簡單用法Promise
- SQLserver With As 用法SQLServer
- Vue3專案的簡單搭建與專案結構的簡單介紹Vue
- SqlServer的with(nolock)的用法SQLServer
- SSM專案搭建及實現簡單的登入SSM
- 簡單介紹VBS 批次Ping的專案實現
- SQL語句case when外用sum與count的區別SQL
- 【專案學習】Pendle 專案的簡單調研
- Opentelemetry SDK的簡單用法
- YonBuilder低程式碼實戰:YonQL資料查詢小Case,讓SQL查詢變簡單UISQL
- (策略模式+工廠模式+map)套餐 Kill 專案中的switch case模式
- webpack4.X 實戰(二):從0開始搭建一個 簡單的前端專案Web前端