SQL-運用CASE改變輸出的條件
這個例子是因為我的資料來源有前一個工作天的收盤價 所以我就很自然的把前一天的收盤價撈出來 然後把今天的日期減1天 就是昨天的收盤了
後來才想到如果是星期一的話 那收盤日就會變成星期日了 所以就寫了以下的語法修改
SELECT distinct Symbol,(CASE WHEN DATENAME(weekday, Date)='星期一' THEN DATEADD(day, -3, Date) WHEN DATENAME(weekday, Date)<>'星期一' THEN DATEADD(day, -1, Date) ELSE Date END) Date, PriorPrice AS ClosePrice FROM Stock order by Symbol,Date如果直接update的話 範例如下
Update StockClosePrice SET Date = CASE WHEN DATENAME(weekday, Date)='星期日' THEN DATEADD(day, -2, Date) ELSE Date END
留言
張貼留言