DatePart函数 
    返回一个包含已知日期的指定时间部分的 Variant (Integer)。

语法

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 函数语法中有下列命名参数:

部分 描述

interval 必要。字符串表达式,是要返回的时间间隔。

date 必要。要计算的 Variant (Date) 值。

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 从第一个无跨年度的星期开始。

说明

DatePart 函数可以用来计算日期并返回指定的时间间隔。例如,可以使用DatePart 计算某个日期是星期几或目前为几点钟。

firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。

如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (" ") 括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
 
 
以下摘自:http://topic.csdn.net/t/20031204/11/2526239.html
 
   Transact-SQL   参考     
    
      
  DATEPART   
  返回代表指定日期的指定日期部分的整数。  
   
  语法   
  DATEPART   (   datepart   ,   date   )    
   
  参数   
  datepart   
    
  是指定应返回的日期部分的参数。下表列出了   Microsoft®   SQL   Server™   识别的日期部分和缩写。  
   
  日期部分   缩写    
  year   yy,   yyyy    
  quarter   qq,   q    
  month   mm,   m    
  dayofyear   dy,   y    
  day   dd,   d    
  week   wk,   ww    
  weekday   dw    
  Hour   hh    
  minute   mi,   n    
  second   ss,   s    
  millisecond   ms    
   
   
  week   (wk,   ww)   日期部分反映对   SET   DATEFIRST   作的更改。任何一年的   1   月   1   日定义了   week   日期部分的开始数字,例如:DATEPART(wk,   'Jan   1,   xxxx')   =   1,此处   xxxx   代表任一年。  
   
  weekday   (dw)   日期部分返回对应于星期中的某天的数,例如:Sunday   =   1、Saturday   =   7。weekday   日期部分产生的数取决于   SET   DATEFIRST   设定的值,此命令设定星期中的第一天。  
   
  date  
   
  是返回   datetime   或   smalldatetime   值或日期格式字符串的表达式。对   1753   年   1   月   1   日之后的日期用datetime   数据类型。更早的日期存储为字符数据。当输入   datetime   值时,始终将其放入引号中。因为   smalldatetime   只精确到分钟,所以当用   smalldatetime   值时,秒和毫秒总是   0。  
   
  如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果   two   digit   year   cutoff   为   2049   (默认),则   49   被解释为   2049,2050   被解释为   1950。为避免模糊,请使用四位数的年份。  
   
  有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见   datetime   和   smalldatetime。    
   
  返回类型  
  int  
   
  注释  
  DAY、MONTH、和   YEAR   函数分别是   DATEPART(dd,   date)、DATEPART(mm,   date)、和   DATEPART(yy,   date)   的同义词。  
   
  示例  
  GETDATE   函数返回当前日期;然而,比较时并不总是需要完整的日期信息(通常只是对日期的一部分进行比较)。此示例显示   GETDATE   及   DATEPART   的输出。  
   
  SELECT   GETDATE()   AS   'Current   Date'  
  GO  
   
  下面是结果集:  
   
  Current   Date                                  
  ---------------------------    
  Feb   18   1998   11:46PM                    
   
  SELECT   DATEPART(month,   GETDATE())   AS   'Month   Number'  
  GO  
   
  下面是结果集:  
   
  Month   Number    
  ------------    
  2                          
   
  此示例假设日期是   5   月   29   日。  
   
  SELECT   DATEPART(month,   GETDATE())  
  GO  
   
  下面是结果集:  
   
  -----------    
  5                        
   
  (1   row(s)   affected)  
   
  在此示例中,以数字表示日期。注意:SQL   Server   将   0   解释为   01/01/1900。  
   
  SELECT   DATEPART(m,   0),   DATEPART(d,   0),   DATEPART(yy,   0)  
   
  下面是结果集:  
   
  -----   ------   ------  
  1           1             1900  
   
   
  请参见  
   
  CAST   和   CONVERT    
   
  数据类型  
   
  日期和时间函数