先給此表增加一個數字類型的列「Diff」,然執行如下sql語句:
update
[表名]
set
[diff]=datediff(day,[A日期列],[B日期列])
datediff函數的第一個參數設置為day時,計算的是兩個日期以天為單位的差數,設置為month、year時以此類推。
2. 在Sql語句中怎樣計算出兩個日期的差值
sql語句中計算兩個日期的差值用datediff函數。
工具:sqlserver 2008 R2
步驟:
1、計算2009-06-23與2009-06-17之間的天數。語句如下:
selectdatediff(d,'2009-06-17','2009-06-23')
2、查詢結果:
3. Sql 計算時間差
ASP日期函數
作者:未知 來源:未知 發表時間:115038-11-10 編輯:林燦聲 人氣: 129
Date 函數
描述:返回當前系統日期。
語法:Date
DateAdd 函數
描述:返回已添加指定時間間隔的日期。
語法:DateAdd(interval, number, date)
interval: 必選。字元串表達式,表示要添加的時間間隔。有關數值,請參閱「設置」部分。
number: 必選。數值表達式,表示要添加的時間間隔的個數。數值表達式可以是正數(得到未來的日期)或負數(得到過去的日期)。
date: 必選。Variant 或要添加 interval 的表示日期的文字。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
說明:可用 DateAdd 函數從日期中添加或減去指定時間間隔。例如可以使用 DateAdd 從當天算起 30 天以後的日期或從現在算起 45 分鍾以後的時間。要向 date 添加以「日」為單位的時間間隔,可以使用「一年的日數」(「y」)、「日」(「d」)或「一周的日數」(「w」)。
DateAdd 函數不會返回無效日期。如下示例將 95 年 1 月 31 日加上一個月:
NewDate = DateAdd("m", 1, "31-Jan-95")
在這個例子中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 為 96 年 1 月 31 日,則返回 96 年 2 月 29 日,這是因為 1996 是閏年。
如果計算的日期是在公元 100 年之前則會產生錯誤。
如果 number 不是 Long 型值,則在計算前四捨五入為最接近的整數。
DateDiff 函數
描述:返回兩個日期之間的時間間隔。
語法:DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
interval: 必選。字元串表達式,表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱「設置」部分。
date1, date2: 必選。日期表達式。用於計算的兩個日期。
firstdayofweek: 可選。指定星期中第一天的常數。如果沒有指定,則默認為星期日。有關數值,請參閱「設置」部分。
firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。有關數值,請參閱「設置」部分。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
firstdayofweek 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周開始。
說明:DateDiff 函數用於判斷在兩個日期之間存在的指定時間間隔的數目。例如可以使用 DateDiff 計算兩個日期相差的天數,或者當天到當年最後一天之間的星期數。
要計算 date1 和 date2 相差的天數,可以使用「一年的日數」(「y」)或「日」(「d」)。當 interval 為「一周的日數」(「w」)時,DateDiff 返回兩個日期之間的星期數。如果 date1 是星期一,則 DateDiff 計算到 date2 之前星期一的數目。此結果包含 date2 而不包含 date1。如果 interval 是「周」(「ww」),則 DateDiff 函數返回日歷表中兩個日期之間的星期數。函數計算 date1 和 date2 之間星期日的數目。如果 date2 是星期日,DateDiff 將計算 date2,但即使 date1 是星期日,也不會計算 date1。
如果 date1 晚於 date2,則 DateDiff 函數返回負數。
firstdayofweek 參數會對使用「w」和「ww」間隔符號的計算產生影響。
如果 date1 或 date2 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date1 或 date2 被包括在引號 (" ") 中並且省略年份,則在代碼中每次計算 date1 或 date2 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼。
在 interval 為「年」(「yyyy」)時,比較 12 月 31 日和來年的 1 月 1 日,雖然實際上只相差一天,DateDiff 返回 1 表示相差一個年份。
DatePart 函數
描述:返回給定日期的指定部分。
語法:DatePart(interval, date[, firstdayofweek[, firstweekofyear>)
DatePart: 函數的語法有以下參數:
interval: 必選。字元串表達式,表示要返回的時間間隔。有關數值,請參閱「設置」部分。
date: 必選。要計算的日期表達式。
firstdayof week: 可選。指定星期中的第一天的常數。如果沒有指定,則默認為星期日。有關數值,請參閱「設置」部分。
firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。有關數值,請參閱「設置」部分。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
firstdayofweek 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周(不跨年度)開始。
說明:DatePart 函數用於計算日期並返回指定的時間間隔。例如使用 DatePart 計算某一天是星期幾或當前的時間。
firstdayofweek 參數會影響使用「w」和「ww」間隔符號的計算。
如果 date 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date 被包含在引號 (" ") 中,並且省略年份,則在代碼中每次計算 date 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼
4. sql怎麼計算時間差
DATEDIFF(mi,開始時間,結束時間)
這個函數可以算出會話時間,mi代表分鍾,
1。兩張表匹配下,sum(算出的會話時間)即可
2.select
訪問客戶,sum(算出的會話時間)
from
...
group
by
訪問客戶
3.用agv(算出的會話時間)
即可
4.select
訪問客戶,agv(算出的會話時間)
from
...
group
by
訪問客戶
5. 用SQL語句怎麼寫時間差
select to_date('20070506','yyyymmdd') - to_date('20070203','yyyymmdd') from al;
這樣查詢出來是兩個時間的差值——以天為單位的,如果需要以小時為單位的,在減法外面加個括弧,再乘以24就可以了,其他時間單位的,自己類推。
可以這樣直接減,是因為oracle在存儲date型時間的時候,內部是使用數字存儲的,所以可以直接減,如果是用timestamp型時間,可能不可以直接減
6. SQL計算時間差
語法:DATEDIFF(開始時間,結束時間)
釋義:DATEDIFF可以計算開始時間與結束時間的時間差,結果是天數
栗子:
語法:TIMESTAMPDIFF(時間粒度,開始時間,結束時間)
釋義:(1)時間粒度參數:
2/SECOND--秒:計算開始時間與結束時間相差的秒數。
4/MINUTE--分:計算開始時間與結束時間相差多少分鍾。
8/HOUR--小時:計算開始時間與結束時間相差多少小時。
16/DAY--天:計算開始時間與結束時間相差的天數。
32/WEEK--周:計算開始時間與結束時間相差的周數。
64/MONTH--月:計算開始時間與結束時間相差多少月。
128/QUARTER--季:計算開始時間與結束時間相差的季度數。
256/YEAR--年:計算開始時間與結束時間相差的年數。
(2)開始時間:需要計算時間差的開始時間,參數格式需要為時間格式。
(3)結束時間:需要計算時間差的結束時間,參數格式需要為時間格式。
栗子:
7. sql求時間差,精確到秒分時
多行記錄做這樣的時間差值計算思路:
要將簽入和簽出配對處理,然後才能求出時間差值
或使用隱式游標進行處理,可以求出上一行記錄和下一行記錄的時間差值,但SQL語句極其晦澀難懂。
SQL計算秒的差值為:
selectdatediff(ss,'2019-01-0102:03:04',getdate())
8. sql怎麼計算時間差
返回跨兩個指定日期的日期和時間邊界數。
語法
DATEDIFF(datepart,startdate,enddate)
參數
datepart