日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法

發(fā)布時(shí)間:2025/4/16 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ryxxlong的博客 Sql server 中的 CASE 語(yǔ)句文章, 鏈接 http://ryxxlong.iteye.com/blog/531221 寫(xiě)的比較詳細(xì),具體內(nèi)容如下,主要用于自己以后方便查詢 CASE 具有兩種式: Simple CASE function: CASE input_expression WHEN when_expression THEN result_ex

ryxxlong的博客Sql

server 中的 CASE 語(yǔ)句文章,

鏈接http://ryxxlong.iteye.com/blog/531221

寫(xiě)的比較詳細(xì),具體內(nèi)容如下,主要用于自己以后方便查詢

CASE 具有兩種格式:

Simple CASE function: CASE input_expression

WHEN when_expression THEN result_expression

[ ...n ]

[

ELSE else_result_expression

]

END

Searched CASE function:

CASE

WHEN Boolean_expression THEN result_expression

[ ...n ]

[

ELSE else_result_expression

]

END

A. 使用帶有簡(jiǎn)單 CASE 函數(shù)的 SELECT 語(yǔ)句

在 SELECT 語(yǔ)句中,簡(jiǎn)單 CASE 函數(shù)僅檢查是否相等,而不進(jìn)行其他比較。以下示例使用 CASE 函數(shù)更改產(chǎn)品系列類(lèi)別的顯示,以使這些類(lèi)別更易理解。

USE AdventureWorks;

GO

SELECT ProductNumber, Category =

CASE ProductLine

WHEN 'R' THEN 'Road'

WHEN 'M' THEN 'Mountain'

WHEN 'T' THEN 'Touring'

WHEN 'S' THEN 'Other sale items'

ELSE 'Not for sale'

END,

Name

FROM Production.Product

ORDER BY ProductNumber;

GO

B. 使用帶有簡(jiǎn)單 CASE 函數(shù)和 CASE 搜索函數(shù)的 SELECT 語(yǔ)句

在 SELECT 語(yǔ)句中,CASE 搜索函數(shù)允許根據(jù)比較值在結(jié)果集內(nèi)對(duì)值進(jìn)行替換。下面的示例根據(jù)產(chǎn)品的價(jià)格范圍將標(biāo)價(jià)顯示為文本注釋。

USE AdventureWorks;

GO

SELECT ProductNumber, Name, 'Price Range' =

CASE

WHEN ListPrice = 0 THEN 'Mfg item - not for resale'

WHEN ListPrice < 50 THEN 'Under $50'

WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'

WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'

ELSE 'Over $1000'

END

FROM Production.Product

ORDER BY ProductNumber ;

GO

以上內(nèi)容來(lái)自Sql server 2005幫助文檔

其他Case語(yǔ)句實(shí)例:

USE pubs

GO

SELECT

Title,

'Price Range' =

CASE

WHEN price IS NULL THEN 'Unpriced'

WHEN price < 10 THEN 'Bargain'

WHEN price BETWEEN 10 and 20 THEN 'Average'

ELSE 'Gift to impress relatives'

END

FROM titles

ORDER BY price

GO

這是 CASE 的典型用法,但是使用 CASE 其實(shí)可以做更多的事情。比方說(shuō)下面的 GROUP BY 子句中的 CASE:

SELECT 'Number of Titles', Count(*)

FROM titles

GROUP BY

CASE

WHEN price IS NULL THEN 'Unpriced'

WHEN price < 10 THEN 'Bargain'

WHEN price BETWEEN 10 and 20 THEN 'Average'

ELSE 'Gift to impress relatives'

END

GO

你甚至還可以組合這些選項(xiàng),添加一個(gè) ORDER BY 子句,如下所示:

USE pubs

GO

SELECT

CASE

WHEN price IS NULL THEN 'Unpriced'

WHEN price < 10 THEN 'Bargain'

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 < 10 THEN 'Bargain'

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 < 10 THEN 'Bargain'

WHEN price BETWEEN 10 and 20 THEN 'Average'

ELSE 'Gift to impress relatives'

END,

Title

GO

注意,為了在 GROUP BY 塊中使用 CASE,查詢語(yǔ)句需要在 GROUP BY 塊中重復(fù) SELECT 塊中的 CASE 塊。

這部分內(nèi)容來(lái)自: http://database.ctocio.com.cn/tips/76/7000576.shtml

注意:Simple CASE Function不能用來(lái)判斷null值.

如果 case 表達(dá)式1 null then 0 else 表達(dá)式2, 它永遠(yuǎn)是執(zhí)行表達(dá)式2,即使表達(dá)式1的值是null

應(yīng)該這樣寫(xiě): case when 表達(dá)式1 is null then 0 else 表達(dá)式,

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!

總結(jié)

以上是生活随笔為你收集整理的mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。