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

2022-03-08 18:21:37 字數 4928 閱讀 2276

1樓:

select case when 1=1 then '1等於1'

when 1=2 then '1等於2啦'

when 1=3 then '1=3'

else '其他等式'

end以case開頭,end結束。

when和then相當於「如果...那麼」,else相當於如果以上都不成立,那麼就。。

2樓:匿名使用者

比如:表:taba

col1  col2

1     aaa

2    bbb

3    ccc

select case when col1 = 1 then '北京' when col1 = 2 then '上海' else '廣州' end col1,

col2

from taba

sql中case when …… then …… 用法是什麼?

3樓:匿名使用者

select 分數,類別=case

when 分數》=85 then '優秀'

when 分數》=75 then '良好'

when 分數》=60 then '及格'

else '不及格'

endfrom 成績表

4樓:匿名使用者

select a case when is '0' then 'a=0' when ='1'then 'a=1' from b;

sql語句中case,when,then的用法

5樓:匿名使用者

select case when 欄位名 is null then '錄入' else 欄位名 end as 別名 from 表名 where 條件

別名要不要都行。 語法沒多少用的!要有一個整段sql例子!你就懂了

6樓:匿名使用者

case 表示式

when 值1 then 結果1

when 值2 then 結果2

else 結果3

也有另一種形式

case

when 表示式1 then 結果1

when 表示式2 then 結果2

else 結果3

sql中case when then的用法

7樓:

select case when age<30 then n'青年' when age between 30 and 49 then n'中年' else n'老年' end  as [年齡段],count(name) as [數目] from table

group by case when age<30 then n'青年' when age between 30 and 49 then n'中年' else n'老年' end

8樓:毋恕延月

select

a,count(*)

from

(select

a=case

when

age<30

then

'青年'

--查詢age

<30的為青年,「青年」直接賦給a

when

age>=30

andage<50

then

'中年'

when

age>=50

then

'老年'

endfrom

test

--括號裡查出每條記錄中對應年齡段屬於哪個值)a_test

--將查出的值

放到a_test中去

groupbya

--按a_test

中的欄位

a分組統計資料

9樓:匿名使用者

select 年齡段,count(num) as nums from(select '年齡段'=(case when age<30 then '青年' when age>=30 and age<50 then '中年' else '老年' end),count(*) as num from tage group by age) as a

group by 年齡段

你把你的sql語句這樣改試試

10樓:匿名使用者

給你一個參考。我相信你看了後就知道應該如何處理了。有表student(id,name,score)根據分數列(score)每10分為一段,查詢每段分數的人數。

select a, count(*)

from (select a = case when score >= 0 and

score < 10 then '0-9' when score >= 10 and

score < 20 then '10-19' when score >= 20 and

score < 30 then '20-29' when score >= 30 and

score < 40 then '30-39' when score >= 40 and

score < 50 then '40-49' when score >= 50 and

score < 60 then '50-59' when score >= 60 and

score < 70 then '60-69' when score >= 70 and

score < 80 then '70-79' when score >= 80 and

score < 90 then '80-89' when score >= 90 and

score < 100 then '90-99' else '100' end

from student) a

group by a

11樓:

select (case when age <30 then '青年' when age between 30 and 49 then '中年' else '老年' end) as age_scope, count(`name`) as num from test_case_when group by age_scope

sql中case when then的用法是什麼?

12樓:手機使用者

select a,count(*) from(select a=case when age<30 then '青年' --查詢age <30的為青年,「青年」直接賦給a

when age>=30 and age<50 then '中年'

when age>=50 then '老年' endfrom test --括號裡查出每條記錄中對應年齡段屬於哪個值 )

a_test --將查出的值 放到 a_test中去group by a --按a_test 中的欄位 a 分組統計資料

sql中case when的用法

13樓:金星緯衣承

case

when要麼是查詢條件要麼是查詢結構,表名逗號後面沒用,語法不對

14樓:畢蕩鄭暄

給你個例子

select

rq,case

deptid

when

'0201'

then

'開發區店'

when

'0202'

then

'金州店'

when

'0203'

then

'華南南店'

endfd

from

ghdwjxcr

group

byrq,substring(deptid,1,4)

15樓:匿名使用者

select b ,(case when count(b)=sum(case when a=null then 0 else 1 end) then 0 else count(b) end) from 表名 group by b

(a b 兩個欄位, 在b相同的情況下, 要對a有條件的記數,即只要a有一個非空, 就全部記數; a都為空, 也全部記數; a都不為空, 則都不記數

舉例:1. a b

* v1

v1 (記數結果 v1: 2)

2. a b

v1v1 (記數結果 v1: 2)

3. a b

* v1

* v1 (記數結果 v1: 0))

16樓:守俏歷採南

給你個例子

select

rq,case

deptid

when

'0201'

then

'開發區店'

when

'0202'

then

'金州店'

when

'0203'

then

'華南南店'

endfd

from

ghdwjxcr

group

byrq,substring(deptid,1,4)

17樓:匿名使用者

case 欄位

when exp1

then 1

when exp2

then 2

else 3end

18樓:

case '欄位' when 1 then '你好' when 2 then

'hi' else '88' end

sql中日期函式的用法,sql 中Dateadd()函式的用法

1.dateadd i n d 將一個日期加上一段期間後的日期。i 設定一個日期 date 所加上的一段期間的單位。譬如 interval d 表示 n的單位為日。i的設定值如下 yyyy year 年 q quarter 季 m month 月 d day 日 w weekday 星期 h hou...

SQL查詢語句如何定義變數Sql中如何給變數賦值?

假設三個表 a,b,c,通過a中查出來的一個記錄來覺得下面去查b還是c表 declare varchar temp 10 select temp x from db a where if temp 0 select from db b where.else if temp 1 select from...

C中SQL語句執行

insert into vip.dbo 會員賬號 姓名,卡號,手機,qq values this.textbox1.text.trim int.parse this textbox2 text trim int.parse this textbox3 text trim int.parse text...