1. 程式人生 > >sql server 日期時間比較函式

sql server 日期時間比較函式

DATEDIFF 
返回跨兩個指定日期的日期和時間邊界數。 

語法 
DATEDIFF ( datepart , startdate , enddate ) 

引數 
datepart 

是規定了應在日期的哪一部分計算差額的引數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。 

日期部分 縮寫 
year yy, yyyy 
quarter qq, q 
Month mm, m 
dayofyear dy, y 
Day dd, d 
Week wk, ww 
Hour hh 
minute mi, n 
second ss, s 
millisecond ms 


startdate 

是計算的開始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字串的表示式。 

因為 smalldatetime 只精確到分鐘,所以當用 smalldatetime 值時,秒和毫秒總是 0。 

如果您只指定年份的最後兩位數字,則小於或等於"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(預設),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。 

有關時間值指定的更多資訊,請參見時間格式。有關日期指定的更多資訊,請參見 datetime 和 smalldatetime。 

enddate 

是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字串的表示式。 

返回型別 
integer 

註釋 
startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。 

當結果超出整數值範圍,DATEDIFF 產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鐘零 23.647 秒。對於秒,最大數是 68 年。 

計算跨分鐘、秒和毫秒這些邊界的方法,使得 DATEDIFF 給出的結果在全部資料型別中是一致的。結果是帶正負號的整數值,其等於跨第一個和第二個日期間的 datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的星期數是 1。 

示例 
此示例確定在 pubs 資料庫中標題釋出日期和當前日期間的天數。 

USE pubs 
GO 
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days 
FROM titles 
GO 

相關推薦

sql server 日期時間比較函式

DATEDIFF 返回跨兩個指定日期的日期和時間邊界數。 語法 DATEDIFF ( datepart , startdate , enddate ) 引數 datepart 是規定了應在日期的哪一部分計算差額的引數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。 日期部分

SQL Server日期時間函式

日期時間函式      1、獲取當前日期GetDate           getdate()函式以datetime資料型別的格式返回當前SQLServer伺服器所在計算機的日期和時間。其語法格式為getdate()。返回值舍入到最近的秒小數部 分,精度為.333秒資料庫十

SQL Server日期時間格式轉換字符串詳解

dateadd access strong 分鐘 char 時間 詳解 var net 1、日期時間轉字符串 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(

sql server日期函式 怎麼查詢日期時間

有時候在開發的時候可能需要某個時間欄位的某個特定的日期,比如說我們student表中有一個欄位是 comeyear (入學日期) 好的,這個是一個datatime型別的,如2012-9-1 12:12:15 我們這個學生是12年9月一號入學的,讓我們看一下

sql server 日期比較大小的方法及相關函式

在用sql server 開發相關專案時我們經常要用到日期的相關操作,這裡彙總了一些常用的方法及函式: 下面的表格列出了 SQL Server 中最重要的內建日期函式: 函式 描述 GETDATE() 返回當前日期和時間 DATEPART() 返

Sql Server 日期格式化函式

Sql Server 中一個非常強大的日期格式化函式 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select

SQL Server日期的獲取與比較

最近做了一個小程式,是給客戶試用的,需要加各種限制,我就又檢查了一邊,發現之前寫的程式太複雜了點,想到了另外一種方法,將限制直接寫在必須的儲存過程中,程式做起來就輕鬆很多,不用作太多的獲取和比較 下

SQL Server日期函式獲得一個月中天數的方案

此文主要向大家描述的是SQL Server日期函式之獲得一個月中的實際天數的正確操作步驟,在實際草組中如果你想獲得一個月的天數其主要操作技巧是:首先到得一個月最後一天的日期,然後通過 SQL Server 日期函式 day() 取得日期中的“天” 部分。 獲得 2008 年 2 月份的天數: selec

SQL server常用的字串函式日期函式、數學函式

1.字串函式: charindex()尋找一個指定字串在另外一個字串的起始位置索引; len()返回給定字串的長度; upper()把給定的字串轉換成大寫; lower()把給定的字串轉換成小寫; ltrim()清除字元左邊的空格; rtrim()清除字元右邊的空格; ri

深入SQL Server 日期時間的內部儲存

在SQL Server的內部儲存中,日期和時間不是以字串的形式儲存的,而是使用整數來儲存的。使用特定的格式來區分日期部分和時間部分的偏移量,並通過基準日期和基準時間來還原真實的資料。 一,DateTime的內部儲存 SQL Server儲存引擎把DateTime型別儲存為2個int32型別,共8個位元組,

SQL Server 本地時間和UTC時間的相互轉換

get gpo () localdate lda code date() post nbsp SET @UTCDate = DATEADD(hour, DATEDIFF(hour,GETDATE(),GETUTCDATE()), @LocalDate) SET @Local

SQL Server 生成時間序列

WITH DateSequence AS ( SELECT CONVERT(DATETIME,'20150101') AS DateNum UNION ALL SELECT DateNum+1 FROM DateSequence WHERE Da

Sql Server日期查詢-SQL查詢今天、昨天、7天內、30天

注: SQL查詢某一段的資料用的比較多,本人記性差,就只有轉載一下辣! 今天的所有資料:select * from 表名 where DateDiff(dd,datetime型別欄位,getdate())=0 昨天的所有資料:select * from 表名 where DateDiff(dd,d

MySQL 日期時間相關函式

第一部分:時間差函式  timestampdiff、datediff、timediff   一、時間差函式:timestampdiff   語法:timestampdiff(interval, datetime1,datetime2)   結果:返回(時間2-時間1)的時

js日期時間格式化函式

// author: meizz // 對Date的擴充套件,將 Date 轉化為指定格式的String // 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個佔位符, // 年(y)可以用 1-4 個佔位符,毫秒(S)只能用 1 個佔位符(是 1-3

DB2日期時間處理函式

  使用 days 字元型的日期:2012-01-01,2012-01-11 values days(date('2012-01-11')) - days(date('2012-01-01')) --獲取當前日期: select current date from sysibm.sys

Java 日期時間比較

Java使用以下三種方法來比較兩個日期: 使用 getTime() 方法獲取兩個日期(自1970年1月1日經歷的毫秒數值),然後比較這兩個值。 使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99,

JS檢測日期時間格式函式

 利用日期函式配合正則表示式來檢測日期時間格式,: var checkTime = function (time) { var timeFormat = /^(\d{1,4})(-|\/)(\

SQL SERVER時間計算每天某值的平均值

在報表需求中,有針對求每天按時間分配資料的平均值,在經過查詢後,找到一種方法,供參考。 1.新建檢視 2.編寫語句 SELECT  TOP (100) PERCENT AVG(dbo.漕盈

Sql Server 日期查詢

今天的所有資料:select * from 表名 where DateDiff(dd,datetime型別欄位,getdate())=0 昨天的所有資料:select * from 表名 where DateDiff(dd,datetime型別欄位,getdate())=1