2024年6月12日发(作者:)
DATEDIFF (Transact-SQL)
返回指定的startdate和enddate之间所跨的指定datepart边界的计数(带符号的整数)。
Transact-SQL 语法约定
语法
复制
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
startdate
ns
是一个表达式,可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset
值。date可以是表达式、列表达式、用户定义的变量或字符串文字。从enddate减去startdate。
为避免不确定性,请使用四位数年份。有关两位数年份的信息,请参阅two digit year cutoff
选项。
enddate
请参阅startdate。
返回类型
int
返回值
每个datepart及其缩写都返回相同的值。
如果返回值超出int的范围(-2,147,483,648 到 +2,147,483,647),则会返回一个错误。对于millisecond,
startdate与enddate之间的最大差值为 24 天 20 小时 31 分钟 23.647 秒。对于second,最大差
值为 68 年。
如果为startdate和enddate都只指定了时间值,并且datepart不是时间datepart,则会返回 0。
在计算返回值时不使用startdate或endate的时区偏移量部分。
由于smalldatetime仅精确到分钟,因此将smalldatetime值用作startdate或enddate时,返回值中
的秒和毫秒将始终设置为 0。
发布评论