早晨上班,考勤系統突然遭遇崩潰,結果造成公司好多員工未能正常考勤,後經伺服器重啟才解決問題,但此時員工再考勤已經「遲到」了。這是考勤系統正常執行以來第一次事故,沒辦法只好採取補救措施,手工將員工的考勤記錄做一下調整。
這種事情,如果是用c#就很容易解決,但是在sql中該如何做呢?以前還真沒有弄過,開啟sql server聯機叢書,很快找到乙個函式:dateadd ( datepart , number, date ) ,該函式的作用是在指定時間的基礎上加上一段時間,然後再返回。有了這個函式,事情可就好辦多了。
比如:
21,pubdate) as timeframe
就是返回在pubdate欄位原有時間的基礎上加上21天的值。
datepart取值如下表:
日期部分
縮寫yearyy, yyyy
quarterqq, q
monthmm, m
dayofyeardy, y
daydd, d
weekwk, ww
hourhh
minutemi, n
secondss, s
millisecondms
具體到我的問題,需要在原有記錄的基礎上減去15分鐘,條件是所有今天早上遲到的考勤記錄,見下面的sql:
update
kaoqin
setsj
=dateadd
(mi,-15
,sj)
where
(sj>
'2007-8-15 08:00:00')
減去時間只需要設定number為相應的負值就行了。
sql 加減時間
引用 1.mysql 為日期增加乙個時間間隔 date add set dt now select date add dt,interval 1 day 加1天 select date add dt,interval 1 hour 加1小時 select date add dt,interval 1...
mysql加減時間 函式 時間加減
mysql加減時間 函式 時間加減 1.mysql 為日期增加乙個時間間隔 date add set dt now select date add dt,interval 1 day 加1天 select date add dt,interval 1 hour 加1小時 select date ad...
mysql加減時間 函式 時間加減
mysql加減時間 函式 時間加減 1.mysql 為日期增加乙個時間間隔 date add set dt now select date add dt,interval 1 day 加1天 select date add dt,interval 1 hour 加1小時 select date ad...