[SQL ] 判斷時間,如何判斷0此項目

看板Database作者 (TOMMY)時間12年前 (2014/02/12 11:08), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
小弟有個很笨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
union all 一筆5點擊進去?
02/12 15:56, 1F

02/12 18:10, , 2F
這樣就寫死了...有活一點的方式嗎?
02/12 18:10, 2F
文章代碼(AID): #1I-kMiH6 (Database)