當前位置:首頁 » 編程語言 » casewhen的sql題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

casewhen的sql題

發布時間: 2022-06-10 14:15:59

『壹』 sql的case when問題

USEtempdb
GO
IFOBJECT_ID('TA')ISNOTNULL
DROPTABLETA
CREATETABLETA
(
產品NVARCHAR(10),
編號NVARCHAR(10),
公司NVARCHAR(10),
價格INT)
GO
INSERTINTOTA
SELECT'1','A','11',1UNIONALL
SELECT'2','B','11',2UNIONALL
SELECT'3','C','22',3UNIONALL
SELECT'1','A','22',4
GO
SELECT*FROMTAA
WHERENOT
(A.公司='22'AND
EXISTS(SELECT*FROMTABWHEREB.編號=A.編號ANDB.公司='11')
)

『貳』 oracle case when 多條件的sql問題

select
case when count >=1 and count<3 then '關鍵'
when count >=3 and count<5 then '重點'
when count >=5 then '一般'
end xxx
from ...

『叄』 用sql語句 case when來解答這道題,謝謝!

SELECT Name
,SUM(CASE Course WHEN '語文' THEN Score ELSE 0 END) AS [語文]

,SUM(CASE Course WHEN '數學' THEN Score ELSE 0 END) AS [數學]

,SUM(CASE Course WHEN '英語' THEN Score ELSE 0 END) AS [英語]

FROM Score
GROUP BY Name

『肆』 sql中case when問題

select count(case when price <500 then 1 else null end), count(case when price < 1000 then 1 else null end ), count(case when price >= 1000 then 1 else null end), average(price) from t

『伍』 sql中Case when的問題

改成:
select Sname as 姓名,(CASE WHEN Ssex ='男' THEN 'male'
WHEN Ssex ='女' THEN 'female'
END) as 性別
from Student

『陸』 sql中case when 的問題

max是sql聚合函數,不像一般函數那樣可被孤立地使用,它需針對一個行集(一張表或查詢)進行計算才能返回唯一一條結果。

題主可以試一下這樣寫:

select case when version=
(select max(version) from t1) then projectno end from t1;

又或者
select case when a.version=b.maxversion then
a.projectno end from t1 a,
(select max(version) as maxversion from t1) b;

『柒』 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將被自動忽略。

(7)casewhen的sql題擴展閱讀:

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 怎麼用

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部分將會被自動忽略。

–比如說,下面這段SQL,將永遠無法得到「第二類」這個結果。

CASE WHEN col_1 IN (『a』, 『b』) THEN 』第一類』。

WHEN col_1 IN (『a』) THEN 』第二類』。

ELSE』其他』 END。

『玖』 Sql case when 的問題

NO換成courseNO,還有case when end 後面最好加個列名,正確如下:
string sql = @"select courseNO as NO ,courseNO,courseName,courseIllustrate
case
when courseNO like 'C%' then '初中'
when courseNO like 'G%' then '高中'
end as 年級
from tb_crouse";

『拾』 SQL case when 語句

太長了,但是看到一個問題,case
when,要求返回的類型必須一直。
你看你的第一個case
when語句
(case
when
to_char(statistic_date-payrefdate>=0)
and
to_char(statistic_date-payrefdate<90)
then
sum(a.planfee-nvl(c.payreffee,0))
else
''
end)
then後邊返回的是一個求和,那麼類型肯定是數字,而else分支,其他情況下居然返回了空字元串,字元型。這兩個不一致,首先就錯了。你先改了這些吧。