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

sqlwhere語句case

發布時間: 2022-07-09 17:22:10

sql語句case的用法

select case when stcd='stcd' and tm between 'd1' and convert(varchar(100),year(dateadd(day,1,'d1')))
+'-'+convert(varchar(100),month(dateadd(day,1,'d1')))
+'-'+convert(varchar(100),day(dateadd(day,1,'d1')))
+' 8:00:00' then sum(drp) when stcd='stcd' and tm between convert(varchar(100),year(dateadd(day,-1,'d1')))
+'-'+convert(varchar(100),month(dateadd(day,-1,'d1')))
+'-'+convert(varchar(100),day(dateadd(day,-1,'d1')))
+' 9:00:00' and 'd1' then sum(drp) end drpsum from st_pptn_r你把'stcd'和'd1'換成具體值,試試看。

❷ SQL判斷語句case的用法,很難,新手勿亂發言

不明白姓名你要怎麼演算法,寫個簡單的

select 年級,count(語文) as 語文,count(數學) as 數學,count(英語) as 英語
from cj
where (case when @param='' then 1 else charindex(姓名,@param) end)>0
group by 年級

❸ sql where case when then請在這里概述您的問題

case
when最後要輸出一個值,多用於select列表中,如果用在where中,就要看你能否正確輸出值了
很明顯你的語句
(case
when
end)=最後沒有響應的值出現,就不對了唄

❹ SQL 中 where 條件中 in 後面 加 CASE WHEN 語句 報錯

case語句只能代表一個值,如果你的select brno from poozfmessagebrno where upbrno = '56601'語句中返回多個值的話就會報錯嘍

❺ sql server2008中where後面跟 case 或者 別的判斷都行

where 後面加上CASE是可以的,但要注意括弧,表示是一個訂算結果。
示例如下:
CREATE TABLE #temp
(
id INT IDENTITY(1, 1) ,
name VARCHAR(20) ,
startYear INT ,
startMonth INT
)

INSERT INTO #temp
SELECT 'z' ,
'2010' ,
'12'
UNION ALL
SELECT 'e' ,
'2011' ,
'11'
UNION ALL
SELECT 'a' ,
'2011' ,
'2'
UNION ALL
SELECT 'b' ,
'2011' ,
'5'
UNION ALL
SELECT 'c' ,
'2011' ,
'10'
UNION ALL
SELECT 'd' ,
'2011' ,
'7'

--查詢早於等於指定日期的數據
DECLARE @condition VARCHAR(6)
SET @condition = '201110'

SELECT *
FROM #temp A
WHERE ( CASE WHEN LEN(A.startMonth) = 1
AND A.startMonth != 0
THEN CAST(( CAST(startYear AS VARCHAR(4)) + '0'
+ CAST(A.startMonth AS VARCHAR(1)) ) AS DATE)
WHEN LEN(A.startMonth) = 2
THEN CAST(CAST(startYear AS VARCHAR(4))
+ CAST(A.startMonth AS VARCHAR(2)) AS DATE)
END ) <= CAST(@condition AS DATE)

DROP TABLE #temp

❻ sqlserver的sql語句里能在where條件里用case when嗎,如果可以,請給個簡單的例子。

1>
2> SELECT * FROM t_test_sub;
3> GO
id main_id value
----------- ----------- ----------
2 12 TWOTWO
11 21 AAAA
12 22 BBBB
13 NULL CCCC
14 NULL DDDD
15 NULL EEEE
(6 行受影響)

1> UPDATE t_test_sub set value = 'test' WHERE case when id>10 then 1 else 0 end
= 1
2> go
(5 行受影響)

1> SELECT * FROM t_test_sub;
2> go
id main_id value
----------- ----------- ----------
2 12 TWOTWO
11 21 test
12 22 test
13 NULL test
14 NULL test
15 NULL test
(6 行受影響)
1>

❼ Sql文的where中使用case when

這樣就可以了
select B.bCol_1,B.bCol_2,C.cCol_1
from TBL_B B left join TBL_C C
on B.bCol_Key = C.cCol_Key
where (B.bCol_Time < 'xxxx' and B.bCol_Flag<>0) or ( C.cCol_Time < 'xxxx' and B.bCol_Flag=0)

❽ SQL語句用法: select case語句塊後面能否加where 條件

when。。。。。。。。。then。。。。。。。
when就相當於where
create
table
table_3(a
varchar
,b
varchar)
insert
into
table_3
values('1','2')
insert
into
table_3
values('1','3')
insert
into
table_3
values('2','2')
select
*
from
table_3
---when語句中的類型和else必須一致
select
(case
a
when
'1'
then'123'
when
'2'
then
'456'
else
0
end
)
as
aa
,a,b
from
table_3
select
case
when
a=1
then
'中文'
when
a=2
then
'英文'
else
'過問'
end
from
table_3

❾ SQL語句中Case 的用法

Select Case 語句在有多個可能的條件必須被檢查時使用。與 If 語句不同,Select Case語句在找到匹配的Case 表達式並執行了Case 表達式和下一個Case 表達式之間的語句後將立即跳出。如果沒有匹配的Case 表達式,將執行其它語句。

Case Else 與lse 的意義相同。

Case 語句能接受各種類型的(作為判斷條件的)表達式。表達式可以是單一值、由逗號分隔的一組值、能返回值的函數、用"To"關鍵字指定的值的范圍或者使用"Is"關鍵字對等式或不等式進行測試。您可以連接不同類型的不同表達式,只要將它們用逗號分開即可。