sql语句时间类型怎么表示10天前?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句时间类型怎么表示10天前?相关的知识,希望对你有一定的参考价值。

我用SQL server建了一个表,里面有一个字段是smalldatetime类型的,现在想查询这个表中距离当前日期10天前的数据,应该怎么写select语句?

表名叫myevents,该字段为eventtime。

select * from myevents where datediff(day,eventtime,getdate())>10
解析:
DATEDIFF
返回跨两个指定日期的日期和时间边界数。
参数
datepart

是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
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

startdate

是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。

因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。

如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。

enddate

是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。

返回类型
integer

注释
startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。
参考技术A 如果查询10天以前的数据:
select * from myevents where datediff(day,eventtime,getdate())>10
如果查询第10天的数据:
select * from myevents where datediff(day,eventtime,getdate())=10

SQL SERVER 2008怎么设置自动删除三天前的数据?

由于数据库每天自动备份数据,每天都会增加一个bak文件,希望自动删除三天前的数据

打开server数据库-管理工具-备份管理-在保存数据时间天数那里保留3天的数据即可,第二天自动备份时就会自动删除三天前的数据!
记得是这样的,好久没有动数据库了,希望帮得到你!
参考技术A 管理作业成绩 参考技术B 使用作业管理本回答被提问者采纳

以上是关于sql语句时间类型怎么表示10天前?的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句怎么表示除法运算?

在sql语句里怎么右补空格

您好,Access数据库中怎么编写SQL语句编写字段类型为char,长度为10

SQL语句怎样查询一个范围

在SQL语句里怎么转换数据类型?

解决SQL语句丢失精度的问题