當前位置:首頁 » 編程語言 » sqlcasewhenthen

sqlcasewhenthen

發布時間: 2023-07-26 05:00:35

『壹』 PLsql中,select case..when.. then..什麼意思怎麼用

case when ... then .. when .. then ... end

這種表達式,是sql的不同條件分支結果。

舉例如下,

1、創建數據表,create table test_student(stu_id number, class_id number);

『貳』 SQL中CASE WHEN THEN的用法

selectcasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'endas[年齡段],count(name)as[數目]fromtable
groupbycasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'end

『叄』 SQL語句中case,when,then的用法

用法如下:

復制代碼

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHENs.s_sex='1'THEN'男'

WHENs.s_sex='2'THEN'女'

ELSE'其他'

ENDassex,

s.s_age,

s.class_id

FROM

t_b_students

WHERE

1=1

這兩個結果是一樣的:

需要注意的一點是,Case函數只返回第一個限定值,其餘的Case將被自動忽略。

(3)sqlcasewhenthen擴展閱讀:

Case有兩種格式:簡單函數和Case搜索函數。

簡單的例子功能:

CASEsex

WHEN『1』THEN『男』

WHEN『0』THEN『女』

ELSE『其他』END

Case搜索函數:

CASEWHENsex=『1』THEN『男』

WHENsex=『0』THEN『女』

ELSE『其他』END

顯然簡單的Case函數天生簡潔,但它們只適用於這種單欄位單值比較,而Case搜索函數具有適用於所有比較用例的優勢。

另一個需要注意的問題是,在Case函數滿足了某個條件之後,其餘的條件將被自動忽略,這樣即使滿足了多個條件,在執行過程中也只能識別第一個條件。

當使用CASEWHEN時,您可以將其視為沒有欄位名的欄位,欄位值是有條件的,並且在需要使用欄位名時可以使用as來定義別名。

『肆』 SQL中case,when,then,else的用法是什麼

用法:

1、第一種寫法:

復制代碼

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHEN s.s_sex = '1' THEN '男'

WHEN s.s_sex = '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

2、第二種寫法

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE s.s_sex

WHEN '1' THEN '男'

WHEN '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

兩個運行結果一樣:

有一個需要注意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。

(4)sqlcasewhenthen擴展閱讀:

Case具有兩種格式:簡單Case函數和Case搜索函數。

簡單Case函數:

CASE sex

WHEN『1』THEN『男』

WHEN『0』THEN『女』

ELSE『其他』END

Case搜索函數:

CASE WHEN sex=『1』THEN『男』

WHEN sex=『0』THEN『女』

ELSE『其他』END

顯然,簡單Case函數生在簡潔,但是它只適用於這種單欄位的單值比較,而Case搜索函數的優點在於適用於所有比較的情況。

還有一個需要注意的問題,Case函數在滿足了某個符合條件後,剩下的條件將會被自動忽略,因此,即使滿足多個條件,執行過程中也只認第一個條件。

在使用CASE WHEN時,可以把它當作一個沒有欄位名的欄位,欄位值根據條件確認,在需要使用欄位名時可以是用as來定義別名。

『伍』 sql中case when …… then …… 用法是什麼

相當於 if else 條件選擇
用法1:
select (case when a.score<60 then '不及格' else '及格' end ) as 成績
from tablename a //小於60不及格,否則及格

用法2
select case a.sex when 'a' then '男' else '女' end from tablename a
如果a.sex=a 則為男,否則為女

熱點內容
電腦無法訪問公司伺服器怎麼辦 發布:2025-04-06 06:39:08 瀏覽:397
安卓防禦軟體哪個好 發布:2025-04-06 06:38:04 瀏覽:127
域名如何訪問文件夾 發布:2025-04-06 06:36:38 瀏覽:558
16進制轉10進制演算法 發布:2025-04-06 06:21:23 瀏覽:809
shell腳本forls 發布:2025-04-06 06:19:39 瀏覽:470
騰達2400s如何進配置 發布:2025-04-06 06:18:12 瀏覽:243
建行電子銀行的密碼是多少 發布:2025-04-06 06:15:40 瀏覽:117
sql分離資料庫失敗 發布:2025-04-06 06:11:17 瀏覽:691
oracle資料庫連接url 發布:2025-04-06 05:59:47 瀏覽:779
javachrome插件 發布:2025-04-06 05:56:49 瀏覽:300