在SQL Server数据库操作中,使用DATEDIFF来计算时间差,有关datediff的相应信息,见如下:
DATEDIFF (datepart ,startdate ,enddate )
datepart是指定所跨边界类型的startdate和enddate 的一部分。下表列出了所有有效的datepart 参数。用户定义的变量等效项是无效的。
datepart |
缩写 |
---|---|
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 |
microsecond |
mcs |
nanosecond |
ns |
startdate是一个表达式,可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表达式、列表达式、用户定义的变量或字符串文字。从enddate 减去startdate。
1.返回相差两个季度时间得记录
代码如下:需要时,可以将时间字段改为数据库中相应的字段
- declare @startDateTime datetime
- declare @endDateTime datetime
- set @startDateTime='2011-01-01'
- set @endDateTime='2011-07-10'
- select DATEDIFF(QQ,@startDateTime,@endDateTime)
2.搜索最近3个月的订单。
代码如下:
- declare @startDateTime datetime
- declare @endDateTime datetime
- set @startDateTime='2011-05-01'
- set @endDateTime=GETDATE()
- select DATEDIFF(m,@startDateTime,@endDateTime)
3.返回***单订单时间到最近的一单订单时间的天数差。
- select DATEDIFF(DAY,(select MIN(insDT) from OP_Order),(select MAX(insDT) from OP_Order))
4.使用GETDATE()函数来获得当前时间
若使用GetDate()+1,结果是在现在的时间上多添加一天。
如:
- GetDate(): 2011-08-13 13:53:09.243
- GetDate()+1 : 2011-08-14 13:53:09.243
如上,直接在时间的日上加1.
关于SQL Server数据库DATEDIFF的知识就介绍到这里了,希望本次的介绍能够对您有所帮助。