Blueimp 論壇首頁
  首頁  | 討論區  | 最新話題  | 搜尋  | XML  |  登入
博客來購書 | 《主管這樣帶人就對了!》
貝殼鯨魚兒童程式啟蒙(點我去報名)

此話題中所有文章數: 2 [ 話題狀態: 一般 ]
此文章已經觀看 7800 次 而且有 1 篇回應 下一話題
會員大頭照
男寶寶 jieh 《騎士團團長》
文章: 6857
v3.8.8

SQL 星期判斷

MS SQL 教學
最近有個每個禮拜每天大同小異的 SQL 要執行 的工作 可是星期一到星期五執行的SQL有點小不同

星期一到五:中長放停復催
星期二到四:短放放停復催 (本週不重複發送)
星期一:短放停復催 (以核心主機為准發送)
星期二:協商成功
星期四:協商失敗

以上有些 SQL 內容大同小異 如果要透過 database 設定不同時成的 job 就有兩個討人厭的問題

1. 管理介面中一大堆 job 因為每個星期X執行的不同 最笨的就是依據以上規則 定出 五 組
2. 有些 SQL 幾乎相同 如果有改 還得知道要兩邊一起維護 麻煩

所以...

update 2011-04-22 (感謝同事 Mulk 提供)

MySQL
select dayofweek(now())
1=星期天 ... 7=星期六 看不順眼自己倒減囉~


MS SQL
1. 用算的
select datediff(day, convert(datetime, '2006-12-03'), getdate()) % 7 = 2 -- 就是星期二

更新在 MS SQL 上可以應用的 function 如下 (感謝 jameswu & topcat 大大)

2. date part
select datepart(WEEKDAY, getdate())

3. 產生文字
select datename(weekday, getdate()) -- MSSQL & sybase 均同因語系設定不同會有不同結果 星期五 or Friday
這個用在產生查詢結果好用

不過如果需要用數字來運算或處理的話,可以改用以下的方法

-- default date first = 7

SET DATEFIRST 1
select datepart(weekday, getdate()) -- 回傳5,表示是星期五

SET DATEFIRST 7
select datepart(weekday, getdate()) -- 回傳6,表示是星期五


(轉貼時請加註本行)
引用自:藍色小惡魔SQL 星期判斷
http://www.imp.idv.tw/play/forum/viewthread?thread=697

xuite-x, yahoo-x, google-x, dot, p-x
----------------------------------------
支持小惡魔
BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx
LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書
----------------------------------------
[編輯文章 10 次, 最後修改: jieh 於 2011/4/22 下午 04:28:11]

[2006/12/25 上午 11:33:15]   [返迴此篇文章頂端 ]  回到頂端 
會員大頭照
男寶寶 jieh 《騎士團團長》
文章: 6857
v3.8.8

Re: SQL 星期判斷

更新在 MS SQL 上可以應用的 function 如下 (感謝 jameswu & topcat 大大)
select datename(weekday, getdate()) -- MSSQL & sybase 均同

因語系設定不同會有不同結果 星期五 or Friday
這個用在產生查詢結果好用

不過如果需要用數字來運算或處理的話,可以改用以下的方法
1 -- default date first = 7 
2
3 SET DATEFIRST 1
4 select datepart(weekday, getdate()) -- 回傳5,表示是星期五
5
6 SET DATEFIRST 7
7 select datepart(weekday, getdate()) -- 回傳6,表示是星期五

----------------------------------------
支持小惡魔
BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx
LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA
知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播!
藍色小惡魔(林永傑): 臉書
[2009/7/10 下午 10:48:08]   [返迴此篇文章頂端 ]  回到頂端