首頁 資料庫 mysql教程 case when then else SQL语句

case when then else SQL语句

Jun 07, 2016 pm 05:40 PM
case else then 語句

sql语句判断方法之一 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方

sql语句判断方法之一
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END


这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

例子:
有一张表,里面有3个字段:语文,数学,免备案空间,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
大于或等于80表示优秀,美国服务器,大于或等于60表示及格,小于60分表示不及格。
显示格式:
语文 数学 英语
及格 优秀 不及格
------------------------------------------
select
(case when 语文>=80 then '优秀'
when 语文>=60 then '及格'
else '不及格') as 语文,
(case when 数学>=80 then '优秀'
when 数学>=60 then '及格'
else '不及格') as 数学,
(case when 英语>=80 then '优秀'
when 英语>=60 then '及格'
else '不及格') as 英语,
from table


CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,美国服务器,你可以在 WHERE 子句中使用 CASE。

首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:

SELECT =
            CASE
            WHEN THEN
            WHEN THEN
            ELSE
            END


在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子:

USE pubs
            GO
            SELECT
            Title,
            'Price Range' =
            CASE
            WHEN price IS NULL THEN 'Unpriced'
            WHEN price             WHEN price BETWEEN 10 and 20 THEN 'Average'
            ELSE 'Gift to impress relatives'
            END
            FROM titles
            ORDER BY price
            GO


这是 CASE 的典型用法,但是使用 CASE 其实可以做更多的事情。比方说下面的 GROUP BY 子句中的 CASE:

SELECT 'Number of Titles', Count(*)
            FROM titles
            GROUP BY
            CASE
            WHEN price IS NULL THEN 'Unpriced'
            WHEN price             WHEN price BETWEEN 10 and 20 THEN 'Average'
            ELSE 'Gift to impress relatives'
            END
            GO


你甚至还可以组合这些选项,添加一个 ORDER BY 子句,如下所示:

USE pubs
            GO
            SELECT
            CASE
            WHEN price IS NULL THEN 'Unpriced'
            WHEN price             WHEN price BETWEEN 10 and 20 THEN 'Average'
            ELSE 'Gift to impress relatives'
            END AS Range,
            Title
            FROM titles
            GROUP BY
            CASE
            WHEN price IS NULL THEN 'Unpriced'
            WHEN price             WHEN price BETWEEN 10 and 20 THEN 'Average'
            ELSE 'Gift to impress relatives'
            END,
            Title
            ORDER BY
            CASE
            WHEN price IS NULL THEN 'Unpriced'
            WHEN price             WHEN price BETWEEN 10 and 20 THEN 'Average'
            ELSE 'Gift to impress relatives'
            END,
            Title
            GO

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HMD Skyline 獲得新的顏色選項和官方磁性外殼 HMD Skyline 獲得新的顏色選項和官方磁性外殼 Aug 23, 2024 am 07:04 AM

上個月推出 HMD Skyline(亞馬遜售價 499 美元)時,它有兩種顏色:霓虹粉和扭曲黑。現在,第三種顏色加入了藍色托帕石的行列。 HMD Global 也宣布了 PH 的官方案例

switch case判斷變數 switch case判斷變數 Feb 19, 2024 am 08:04 AM

switchcase判斷變量,需要具體程式碼範例在程式設計中,我們經常需要根據不同的變數值來執行不同的操作。 switchcase語句是一種方便的結構,可以根據變數的值來選擇不同的程式碼區塊來執行。以下是一個具體的程式碼範例,展示如何使用switchcase語句判斷變數的不同取值:#includeintmain(){

PHP8.0中的multi-catch語句 PHP8.0中的multi-catch語句 May 14, 2023 pm 01:51 PM

隨著Web應用程式的發展,PHP語言在Web開發中得到了廣泛應用。而在PHP8.0版本中,一個新的語言特性被引入-multi-catch語句。什麼是multi-catch語句?在先前的PHP版本中,對於多個異常類型的處理,開發人員需要寫多個catch語句。例如,如下程式碼區塊展示了兩種不同異常的處理:try{//Somecodethatmay

如何實作MySQL中插入資料的語句? 如何實作MySQL中插入資料的語句? Nov 08, 2023 am 11:48 AM

如何實作MySQL中插入資料的語句?在使用MySQL資料庫時,插入資料是一項非常基礎且常見的操作。透過插入數據,可以將新的記錄新增到資料庫表中,為業務操作提供支援。本文將介紹如何使用MySQL中的INSERT語句來實作資料插入操作,並提供具體的程式碼範例。 MySQL中的INSERT語句用來向資料庫表中插入新的記錄。其基本語法格式如下:INSERTINTOt

如何使用Promise物件的then方法 如何使用Promise物件的then方法 Feb 18, 2024 pm 12:33 PM

Promise的then方法是用來處理Promise物件的非同步操作的。在JS中,Promise是一種常用的處理非同步操作的方式,它提供了更為便捷和清晰的語法來處理非同步操作。 then方法的基本使用方式如下:promise.then(onFulfilled,onRejected);其中,onFulfilled是Promise成功時的回呼函數,在Promise對象

Python循環結構中else用法是什麼 Python循環結構中else用法是什麼 Sep 26, 2023 am 10:52 AM

在Python的循環結構中,else區塊用於在循環正常結束時執行一段特定的程式碼。如果迴圈被break語句中斷,那麼else區塊中的程式碼將不會被執行。使用else區塊可以使程式碼更加清晰和易於理解,並且可以在循環結束後執行一些必要的操作 。

C#的try語句用法 C#的try語句用法 Feb 22, 2024 pm 12:45 PM

C#的try語句用法,需要具體程式碼範例C#是一種物件導向的程式語言,其中的try語句是一種用來擷取和處理例外狀況的結構。透過try語句,我們可以編寫程式碼來處理可能發生的異常情況,從而改善程式的穩定性和可靠性。在本文中,我們將介紹C#中try語句的用法,並提供一些具體的程式碼範例來幫助讀者理解。在C#中,try語句由try區塊、catch區塊和optionalfina

了解Python中的流程控制語句需要掌握幾個情況 了解Python中的流程控制語句需要掌握幾個情況 Jan 20, 2024 am 08:06 AM

Python是一種廣泛使用的高階程式語言,它具有簡單易學、高效靈活的特點,深受開發者的喜愛。在Python中,流程控制語句是實作程式邏輯的重要部分。本文將介紹Python中常用的流程控制語句,並提供程式碼範例加深理解。在Python中,常見的流程控制語句包含條件語句和迴圈語句。條件語句根據條件的真假執行不同的程式碼區塊,用於判斷和選擇執行分支。而循環語句則用於重複

See all articles