微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLserver时间段查询

eg:
select * from Exception_Log where DATEDIFF(day,OPER_DATE,getdate())<30 ;

/*
oper_date 为表中查询出来的时间
getdate()为sqlServer里面获得系统时间的函数
含义:当前时间-查询出来的时间小于30天
DateDiff具体用法
*/

DateDiff 函数
返回两个日期之间的时间间隔。

DateDiff(interval,date1,date2 [,firstdayofweek[,firstweekofyear]])

DateDiff 函数的语法有以下参数:

参数
interval

必选项。String expression 表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。

date1,date2

必选项。日期表达式。用于计算的两个日期。

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  由在新的一年中第一个完整的周开始。


说明
DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。

要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。

如果 date1 晚于 date2,则 DateDiff 函数返回负数。

firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。

如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码

在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。

下面的示例利用 DateDiff 函数显示今天与给定日期之间间隔天数:

Function DiffADate(theDate)  DiffADate = "从当天开始的天数:" & DateDiff("d",Now,theDate)End Function

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐