首先說明你的DATEDIFF(dd,0,getdate()),這個(gè)表示獲取當(dāng)前日期與0之間的天數(shù)差,dd表示是用來表示天.然后DATEADD(dd, DATEDIFF(dd,0,getdate()), 0),這個(gè)是用來表示0加上你剛才獲取的天數(shù)差后的日期~

為平陰等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及平陰網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、平陰網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
具體的說明如下,你可以自己了解~
------------------------------------------------------------------
DateAdd函數(shù) 返回
返回包含一個(gè)日期的 Variant (Date),這一日期還加上了一段時(shí)間間隔。
語法
DateAdd(interval, number, date)
DateAdd 函數(shù)語法中有下列命名參數(shù):
部分 描述
interval 必要。字符串表達(dá)式,是所要加上去的時(shí)間間隔。
number 必要。數(shù)值表達(dá)式,是要加上的時(shí)間間隔的數(shù)目。其數(shù)值可以為正數(shù)(得到未來的日期),也可以為負(fù)數(shù)(得到過去的日期)。
date 必要。Variant (Date) 或表示日期的文字,這一日期還加上了時(shí)間間隔。
設(shè)置
interval 參數(shù)具有以下設(shè)定值:
設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒
說明
可以使用 DateAdd 函數(shù)對(duì)日期加上或減去指定的時(shí)間間隔。例如,可以用 DateAdd 來計(jì)算距今天為三十天的日期;或者計(jì)算距現(xiàn)在為 45 分鐘的時(shí)間。
為了對(duì) date 加上“日”,可以使用“一年的日數(shù)” (“y”),“日” (”d”) 或“一周的日數(shù)” (”w”)。
DateAdd 函數(shù)將不返回有效日期。在以下實(shí)例中將 1 月31 日加上一個(gè)月:
DateAdd(m, 1, 31-Jan-95)
上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,則由于 1996 年是閏年,返回值是 1996 年 2 月 29 日。
如果計(jì)算的日期超前 100 年(減去的年度超過 date 中的年份),就會(huì)導(dǎo)致錯(cuò)誤發(fā)生。
如果 number 不是一個(gè) Long 值,則在計(jì)算時(shí)取最接近的整數(shù)值來計(jì)算。
注意 DateAdd 返回值的格式由 Control Panel設(shè)置決定,而不是由傳遞到date 參數(shù)的格式?jīng)Q定。
=========================================
DateDiff: SQL server函數(shù)
返回 Variant (Long) 的值,表示兩個(gè)指定日期間的時(shí)間間隔數(shù)目。
語法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函數(shù)語法中有下列命名參數(shù):
部分 描述
interval 必要。字符串表達(dá)式,表示用來計(jì)算date1 和 date2 的時(shí)間差的時(shí)間間隔
Date1□date2 必要;Variant (Date)。計(jì)算中要用到的兩個(gè)日期。
Firstdayofweek 可選。指定一個(gè)星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。
firstweekofyear 可選。指定一年的第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。
設(shè)置
interval 參數(shù)的設(shè)定值如下:
設(shè)置 描述
yyyy 年
q 季
m 月
y 一年的日數(shù)
d 日
w 一周的日數(shù)
ww 周
h 時(shí)
n 分鐘
s 秒
----------------------------------------------------------
以上部分來源于百度
declare?@time1?datetime,@time2?datetime
set?@time1='2016-11-24'
set?@time2='2015-11-11'
select?DATEDIFF(day,@time1,@time2)?as?[day],DATEDIFF(week,@time1,@time2)?as?[week],datediff(year,@time1,@time2)?as?[year]
datediff函數(shù),第一個(gè)是時(shí)間單位,例如按天算差距,或者按周算,
后面兩個(gè)就是要比較的時(shí)間參數(shù)。
1、看的數(shù)據(jù)庫定義的是什么類型;
2、SQLServer 2000 日期如果是datetime,則這種方法是可以的;但是ORACLE 日期是DATE,則需要轉(zhuǎn)化格式,直接這樣寫是不行的。
appendString.append(" and to_char(model.fhelpDate,'yyyy-MM-dd')='"+helpDateEnd+"'");
sqlserver:
datediff 返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。
select datediff(day,'2004-09-01','2004-09-18')
oracle :
用 減號(hào)
select sysdate - to_date('2013-07-01','yyyy-mm-dd') from dual
如果是日期格式,那么不要管,你只要在取出來的時(shí)候轉(zhuǎn)換成自己習(xí)慣的格式就可以了。
如果是字符格式,那么就預(yù)先轉(zhuǎn)換好:
update?[13工作信息]
set?離職日期=convert(varchar(10),cast(任職起始日期?as?datetime)+1,120);
他們說的那個(gè)dateadd 不是oracle的函數(shù)。是sqlserver 的,你要前一天的
可以
SELECT SYSDATE-1 FROM DUAL 直接減一就是默認(rèn)減一天。就算是1號(hào) 也會(huì)變成上個(gè)月的最后一天
分享標(biāo)題:sqlserver日期加減,sql server日期加減
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article1/dsesiid.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、動(dòng)態(tài)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、企業(yè)建站、網(wǎng)站排名、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)