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

sqlwhencasethen

發布時間: 2024-05-05 23:27:51

Ⅰ PLsql中,select case..when.. then..什麼意思怎麼用

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

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

舉例如下,

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

Ⅱ SQL判斷語句用法和多表查詢

1.格式化時間sql語句
本例中本人隨便做了兩張表,和實際不是很相符,只是想說明sql語句的寫法。
例1表格式如下:
需求:查詢出本表,但需要使time欄位的時間格式為yyyy-MM-dd,比如:2013-08-13
sql寫法:
SELECT
u.id,u.userId,u.timeType,DATE_FORMAT(time,'%Y-%m-%d')
AS
time,secondId
FROM
`user`
u
運行結果:
2.多表查詢(三表查詢)
例二三表結構如下:
需求:查詢出主表,要求在主表中顯示username和secondname
sql寫法:
SELECT
u.id,n.`name`,u.timeType,u.time,s.`name`
FROM
`user`
u,`name`
n,`second`
s
WHERE
u.userId=n.id
AND
u.secondId=s.id
運行結果:
3.when
then判斷語句
例三表結構如下:
需求:查詢上表,若timeType欄位值為2時,顯示每月的第二天,若timeType欄位值為4時,顯示每月的第四天
sql寫法:
SELECT
u.id,u.userId,(CASE
WHEN
u.timeType=2
THEN
'每月第二天'
WHEN
u.timeType=4
THEN
'每月第四天'
END)
AS
timeType
,u.time,u.secondId
FROM
`user`
u
運行結果:
以上所述是小編給大家介紹的SQL判斷語句用法和多表查詢,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

Ⅲ 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將被自動忽略。

(4)sqlwhencasethen擴展閱讀:

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...end) 的詳細解釋是什麼

例如一個3條件取值的欄位:

casewhen條件1then取值1when條件2then取值2else取值3end

when後接條件語句,then後為欄位取值(數值或字元串等都可以,但類型須一致)。

Ⅵ sql 2000中 select case when then 的用法

CASE WHEN condition THEN result

[WHEN ...]

[ELSE result]
END

CASE
子句可以用於任何錶達式可以有效存在的地方。 condition 是一個返回boolean 的表達式。 如果結果為真,那麼
CASE
表達式的結果就是符合條件的 result。 如果結果為假,那麼以相同方式搜尋任何隨後的 WHEN 子句。
如果沒有 WHEN
condition 為真,那麼 case 表達式的結果就是在
ELSE 子句里的值。
如果省略了 ELSE
子句而且沒有匹配的條件, 結果為 NULL。

例子:

SELECT * FROM test;

a
---

1

2

3

SELECT a,

CASE WHEN a=1 THEN 'one'

WHEN a=2 THEN 'two'

ELSE 'other'

END

FROM test;

a | case
---+-------

1 | one

2 | two

3 | other

所有 result 表達式的數據的類型都必須可以轉換成單一的輸出類型。

下面這個"簡單的" CASE
表達式是上面的通用形式的一個特殊的變種。

CASE expression

WHEN value THEN result

[WHEN ...]

[ELSE result]
END

先計算 expression 的值, 然後與所有在WHEN
子句里聲明的 value 對比,直到找到一個相等的。 如果沒有找到匹配的,則返回在
ELSE 子句里的
result (或者 NULL)。 這個類似於 C 里的
switch
語句。

上面的例子可以用簡單 CASE
語法來寫:

SELECT a,

CASE a WHEN 1 THEN 'one'

WHEN 2 THEN 'two'

ELSE 'other'

END

FROM test;

a | case
---+-------

1 | one

2 | two

3 | other

CASE
表達式並不計算任何對於判斷結果並不需要的子表達式。 比如,下面是一個可以避免被零除的方法:

SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END;

熱點內容
按鍵腳本優化 發布:2024-05-19 04:59:57 瀏覽:751
怎麼下載壓縮包 發布:2024-05-19 04:47:47 瀏覽:9
二嫂水仙ftp 發布:2024-05-19 04:47:42 瀏覽:160
雲隙伺服器下載 發布:2024-05-19 04:33:22 瀏覽:315
德國C語言 發布:2024-05-19 04:13:40 瀏覽:965
音頻管理器沒有文件夾 發布:2024-05-19 04:13:36 瀏覽:667
qq郵箱埠993伺服器怎麼填 發布:2024-05-19 04:07:05 瀏覽:204
javaapi框架 發布:2024-05-19 04:06:59 瀏覽:365
與存儲結構無關的術語 發布:2024-05-19 04:05:41 瀏覽:500
編譯路由器固件選擇 發布:2024-05-19 03:56:28 瀏覽:42