[SQL ] 判斷時間,如何判斷0此項目
小弟有個很笨T-SQL的問題
以前做過...但怎麼想也想不起來
目前所擁有的SQL為
SELECT
Count(*) AS CNT
,DATEPART(WK, CreateTime) AS WK
,YEAR(CreateTime) AS Y
,Month(CreateTime) AS M
,DATEPART(DD, CreateTime) AS DD
,CASE
WHEN DATEPART(DW,CreateTime)-1 =0 THEN '(日)'
WHEN DATEPART(DW,CreateTime)-1 =1 THEN '(一)'
WHEN DATEPART(DW,CreateTime)-1 =2 THEN '(二)'
WHEN DATEPART(DW,CreateTime)-1 =3 THEN '(三)'
WHEN DATEPART(DW,CreateTime)-1 =4 THEN '(四)'
WHEN DATEPART(DW,CreateTime)-1 =5 THEN '(五)'
WHEN DATEPART(DW,CreateTime)-1 =6 THEN '(六)'
END
AS DW
,DATEPART(HH, CreateTime) AS HH
FROM
XTable
GROUP BY
YEAR(CreateTime)
,Month(CreateTime)
,DATEPART(WK, CreateTime)
,DATEPART(DD, CreateTime)
,DATEPART(DW,CreateTime)
,DATEPART(HH, CreateTime)
ORDER BY
--WK DESC
Y DESC
,M DESC
,DD DESC
,DW DESC
,HH DESC
而這樣顯示結果為
CNT WK Y M D DW HH
3 7 2014 2 12 (三) 10
5 7 2014 2 12 (三) 9
3 7 2014 2 12 (三) 8
2 7 2014 2 12 (三) 7
2 7 2014 2 12 (三) 6
2 7 2014 2 12 (三) 4
2 7 2014 2 12 (三) 3
4 7 2014 2 12 (三) 2
3 7 2014 2 12 (三) 1
1 7 2014 2 12 (三) 0
中間少了5點至六點資料...因此HH=5的地方,想要補CNT=0
請問條件判斷或是欄位判斷,我該如何做啊?
我印象中...好像需一個一個判斷...用累加的方式,例如說
SUM(CASE WHEN DATEPART(HH,CATETIME) = 5 THEN 1) AS CNT
不知道各位大,是否有好想的想法...
麻煩各位大了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.60.87
※ 編輯: yes302 來自: 118.163.60.87 (02/12 11:10)
→
02/12 15:56, , 1F
02/12 15:56, 1F
→
02/12 18:10, , 2F
02/12 18:10, 2F