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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HMD Skyline に新しいカラーオプションと公式磁気ケースが追加されました HMD Skyline に新しいカラーオプションと公式磁気ケースが追加されました Aug 23, 2024 am 07:04 AM

HMD Skyline (Amazon で $499 で入手可能) が先月発売されたとき、ネオン ピンクとツイスト ブラックの 2 色で発売されました。これらに、ブルー トパーズと呼ばれる 3 番目の色が加わりました。 HMD Global は、ph の公式ケースも発表しました。

スイッチケース判定変数 スイッチケース判定変数 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 ステートメントが導入されました。マルチキャッチステートメントとは何ですか?以前の PHP バージョンでは、開発者は複数の例外タイプを処理するために複数の catch ステートメントを作成する必要がありました。たとえば、次のコード ブロックは 2 つの異なる例外の処理を示しています。

MySQLにデータを挿入するステートメントを実装するにはどうすればよいですか? MySQLにデータを挿入するステートメントを実装するにはどうすればよいですか? Nov 08, 2023 am 11:48 AM

MySQLにデータを挿入するステートメントを実装するにはどうすればよいですか? MySQL データベースを使用する場合、データの挿入は非常に基本的で一般的な操作です。データを挿入することにより、新しいレコードをデータベース テーブルに追加して、業務運営をサポートできます。この記事では、MySQL で INSERT ステートメントを使用してデータ挿入操作を実装する方法を紹介し、具体的なコード例を示します。 MySQL の INSERT ステートメントは、データベース テーブルに新しいレコードを挿入するために使用されます。基本的な構文形式は次のとおりです。 INSERTINTOt

MySQL でテーブルのロックを解除するステートメントを実装するにはどうすればよいですか? MySQL でテーブルのロックを解除するステートメントを実装するにはどうすればよいですか? Nov 08, 2023 pm 06:28 PM

MySQL でテーブルのロックを解除するステートメントを実装するにはどうすればよいですか? MySQL では、テーブル ロックは、データの整合性と一貫性を保護するために一般的に使用されるロック メカニズムです。トランザクションがテーブルの読み取りおよび書き込みを行っている場合、他のトランザクションはテーブルを変更できません。このロック メカニズムにより、データの一貫性がある程度保証されますが、他のトランザクションがブロックされる可能性もあります。したがって、何らかの理由でトランザクションを続行できない場合は、他のトランザクションを続行できるようにテーブルのロックを手動で解除する必要があります。 MySQL はさまざまな機能を提供します

Python のフロー制御ステートメントを理解するには、いくつかの状況をマスターする必要があります Python のフロー制御ステートメントを理解するには、いくつかの状況をマスターする必要があります Jan 20, 2024 am 08:06 AM

Python は広く使用されている高級プログラミング言語で、学習が簡単で効率的かつ柔軟で、開発者に深く愛されています。 Python では、フロー制御ステートメントはプログラム ロジックの実装の重要な部分です。この記事では、Python でよく使用されるフロー制御ステートメントを紹介し、理解を深めるためのコード例を示します。 Python では、一般的なフロー制御ステートメントには条件ステートメントとループ ステートメントが含まれます。条件付きステートメントは、真または偽の条件に基づいてさまざまなコード ブロックを実行し、実行ブランチを決定および選択するために使用されます。ループステートメントは繰り返しに使用されます

Python ループ構造における else の使用法は何ですか? Python ループ構造における else の使用法は何ですか? Sep 26, 2023 am 10:52 AM

Python のループ構造では、else ブロックは、ループが正常に終了したときに特定のコードを実行するために使用されます。ループが Break ステートメントによって中断された場合、else ブロック内のコードは実行されません。 else ブロックを使用すると、コードがより明確で理解しやすくなり、ループの終了後にいくつかの必要な操作を実行できるようになります。

Python のフロー制御ステートメントの種類をマスターして、ゼロから学びましょう。 Python のフロー制御ステートメントの種類をマスターして、ゼロから学びましょう。 Jan 20, 2024 am 09:02 AM

Pythonをゼロから学ぶには、まずフロー制御文の種類を理解しましょう! Python は、データ分析、人工知能、ネットワーク開発、およびさまざまな科学計算分野で広く使用されているシンプルかつ強力なプログラミング言語です。初心者にとって、基本的なフロー制御文を習得することは、論理的な判断を実現し、プログラムの実行フローを制御するための基礎となるため、非常に重要です。 Python には、順次構造、条件構造、ループ構造という 3 つの主なタイプのフロー制御ステートメントがあります。以下では、これら 3 つのプロセス制御ステートメントを詳細に紹介し、対応するステートメントを示します。

See all articles