该函数用来计算两个日期之间的天(年、月…)数,enddate 减去 startdate,如果 startdate 晚于 enddate,则返回负值。其中,startdate表示起始时间;enddate表示结束时间;datepart表示时间间隔的计算单位,如年、月、日等。
datepart
参数几种常用的值如下表所示:
Datepart表:
SELECT * FROM UserInfo
where DATEDIFF (DAY ,regtime,GETDATE ()) BETWEEN 0 AND 7
4.
SQL Server DATEPART(
datepart
,
date
)
函数
该 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。其中
date
参数是合法的日期表达式;
datepart
参数见上表。
实例:查看cathy注册的年、月、日
SELECT DATEPART (YYYY ,regtime )as year,DATEPART (MM ,regtime ) as month,DATEPART (DD,regtime ) as date
FROM UserInfo
WHERE sUserName ='CATHY'
5.
SQL Server DATEADD(
datepart
,
number
,
date
)
函数
该 函数可以计算添加或减去相应时间间隔的时间。其中
date
参数是合法的日期表达式。
number
是您希望添加的间隔数,如果您指定一个带小数的值,则将小数截去且不进行舍入,对于未来的时间,此数是正数,对于过去的时间,此数是负数。datePart参数见DateDiff中的列表。
DECLARE @A DATE
SET @A = GETDATE()
SELECT DATEADD(DAY,3,@A)
SELECT DATEADD(DAY,9,@A)
6.关于季度查询的实例:
declare
@date
datetime
set
@date
=
getdate
()
--
季度初,计算给定日期所在季度的第一天
select
dateadd
(quarter,
datediff
(quarter,
0
,
@date
),
0
)
as
'
当前季度的第一天
'
--
季度末,计算给定日期所在季度的最后一天
select
dateadd
(quarter,
1
+
datediff
(quarter,
0
,
@date
),
-
1
)
as
'
当前季度的最后一天
'
--
上个季度初
select
dateadd
(quarter,
datediff
(quarter,
0
,
@date
)
-
1
,
0
)
as
'
当前季度的上个季度初
'
--
上个季度末
select
dateadd
(quarter,
datediff
(quarter,
0
,
@date
),
-
1
)
as
'
当前季度的上个季度末
'
--
下个季度初
select
dateadd
(quarter,
1
+
datediff
(quarter,
0
,
@date
),
0
)
as
'
当前季度的下个季度初
'
--
下个季度末
select
dateadd
(quarter,
2
+
datediff
(quarter,
0
,
@date
),
-
1
)
as
'
当前季度的下个季度末
'
SQL Server 2000 函数使用---CAST 和 CONVERT
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。