查询指定日期前后2天的数据(包括指定日期当天)
2010-04-21 17:04
411 查看
select * from ticket
where date1>=dateadd(dd,-1,'2010-04-02')and date1<=dateadd(dd,1,'2010-04-02')
其中date1为日期字段,dateadd为日期函数,2010-04-02为要查找的指定日期
注意:
日期计算不能直接用加减数字,要用dateadd函数
查询结果
1 2010-04-01 00:00:00.000 beijing 500
2 2010-04-02 00:00:00.000 beijing 400
3 2010-04-03 00:00:00.000 beijing 600
dateadd函数解释:
语法
参数
datepart
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
number
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
返回类型
返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。
[b]示例
此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。
下面是结果集:
[/b]
where date1>=dateadd(dd,-1,'2010-04-02')and date1<=dateadd(dd,1,'2010-04-02')
其中date1为日期字段,dateadd为日期函数,2010-04-02为要查找的指定日期
注意:
日期计算不能直接用加减数字,要用dateadd函数
查询结果
1 2010-04-01 00:00:00.000 beijing 500
2 2010-04-02 00:00:00.000 beijing 400
3 2010-04-03 00:00:00.000 beijing 600
dateadd函数解释:
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。语法
DATEADD ( datepart , number, date )
参数
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 |
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
返回类型
返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。
[b]示例
此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。
USE pubs GO SELECT DATEADD(day, 21, pubdate) AS timeframe FROM titles GO
下面是结果集:
timeframe --------------------------- Jul 3 1991 12:00AM Jun 30 1991 12:00AM Jul 21 1991 12:00AM Jul 13 1991 12:00AM Jun 30 1991 12:00AM Jul 9 1991 12:00AM Mar 14 1997 5:09PM Jul 21 1991 12:00AM Jul 3 1994 12:00AM Mar 14 1997 5:09PM Nov 11 1991 12:00AM Jul 6 1991 12:00AM Oct 26 1991 12:00AM Jul 3 1991 12:00AM Jul 3 1991 12:00AM Nov 11 1991 12:00AM Jul 3 1991 12:00AM Jul 3 1991 12:00AM (18 row(s) affected)
[/b]
相关文章推荐
- 查询离指定日期最近的一条数据(oracle)
- Oracle生成查询包括对应于所有数据表记录语句中指定的字段名
- mysql 查询指定日期时间内的数据代码
- SQL 语句查询指定某日期的数据
- sqlserver跟据当天年月日日期查询数据库当天数据
- mysql根据时间戳查询指定日期内数据
- MySQL中查询一段日期内指定时间段的数据
- mysql根据时间戳查询指定日期内数据
- 数据库中SQL查询指定日期内数据
- 通过Calendar控件指定日期实现数据查询
- PHP MySQL 查询 指定 范围 日期 时间段 数据 between 用法
- mongodb 备份压缩及清除指定日期前的数据
- MySQL 查询指定数量的表数据
- ACCESS查询当天数据的SQL语句(DateDiff函数)
- mysql 查询指定日期时间内sql语句实现原理与代码
- mysql 查询当天、本周,本月,上一个月的数据
- mysql 查询当天、本周,本月,上一个月的数据
- Sqlite3查询指定行数数据
- mysql 查询当天数据
- 查询指定日期所在周的一周日班表记录