SQL中時間的加減

2021-06-15 22:52:38 字數 1149 閱讀 1277

早晨上班,考勤系統突然遭遇崩潰,結果造成公司好多員工未能正常考勤,後經伺服器重啟才解決問題,但此時員工再考勤已經「遲到」了。這是考勤系統正常執行以來第一次事故,沒辦法只好採取補救措施,手工將員工的考勤記錄做一下調整。

這種事情,如果是用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...