用sql查询当天,一周,一个月的数据
 
数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0   //查询当天日期在一周年的数据
 
select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0   //查询当天的所有数据
 
--查询当天: 
select * from info where DateDiff(dd,datetime,getdate())=0 
 
--查询24小时内的: 
select * from info where DateDiff(hh,datetime,getDate())<=24 
 
--info为表名,datetime为数据库中的字段值
 
--查询当天:
select * from info where DateDiff(dd,datetime,getdate())=0
 
--查询24小时内的:
select * from info where DateDiff(hh,datetime,getDate())<=24
 
--info为表名,datetime为数据库中的字段值
 
Sql代码
--查询当天记录另类的方法 
SELECT * 
FROM j_GradeShop 
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’) 
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’) + 1) 
ORDER BY GAddTime DESC
 
--查询当天记录另类的方法
SELECT *
FROM j_GradeShop
WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’)
AND CONVERT(datetime, LEFT(GETDATE(), 10) + ’ 00:00:00.000’) + 1)
ORDER BY GAddTime DESC
 
DATEDIFF 函数:
 
语法:
 
DATEDIFF ( datepart , startdate , enddate )
 
备注:enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。
 
如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
 
跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。
 
可以再MSSQL中测试:
 
Sql代码
--两个时间差刚好是24 
--打印的方式 
print dateDiff(hh,’2009-1-1 0:0:0’,’2009-1-2 0:0:0’) 
 
--查询的方式 
print dateDiff(hh,’2009-1-1 0:0:0’,’2009-1-2 0:0:0’)
 
--两个时间差刚好是24
--打印的方式
print dateDiff(hh,’2009-1-1 0:0:0’,’2009-1-2 0:0:0’)
 
--查询的方式
print dateDiff(hh,’2009-1-1 0:0:0’,’2009-1-2 0:0:0’)
 
Sql代码
--本月记录 
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0 
 
--本周记录 
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0 
 
--包括本年这些查询方式是一样的
 
--本月记录
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
 
--本周记录
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
 
sql server中的时间函数
 
1. 当前系统日期、时间
select getdate()
 
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,’2004-10-15’) --返回:2004-10-17 00:00:00.000
 
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,’2004-09-01’,’2004-09-18’) --返回:17
 
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, ’2004-10-15’) --返回 10
 
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, ’2004-10-15’) --返回:星期五
 
6. day(), month(),year() --可以与datepart对照一下
 
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
 
select datename(dw,’2004-10-15’)
 
select 本年第多少周=datename(week,’2004-10-15’)
,今天是周几=datename(weekday,’2004-10-15’)
 
函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称
 
参数 interval的设定值如下:
 
值 缩 写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
 
access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似
 
举例:
1.GetDate() 用于sql server :select GetDate()
 
2.DateDiff(’s’,’2005-07-20’,’2005-7-25 22:56:32’)返回值为 514592 秒
DateDiff(’d’,’2005-07-20’,’2005-7-25 22:56:32’)返回值为 5 天
 
3.DatePart(’w’,’2005-7-25 22:56:32’)返回值为 2 即星期一(周日为1,周六为7)
DatePart(’d’,’2005-7-25 22:56:32’)返回值为 25即25号
DatePart(’y’,’2005-7-25 22:56:32’)返回值为 206即这一年中第206天

DatePart(’yyyy’,’2005-7-25 22:56:32’)返回值为 2005即2005年

转自:http://www.2cto.com/database/201305/207629.html

用sql查询当天,一周,一个月的数据的更多相关文章

  1. sql查询当天,一周,一个月数据的语句

    --查询当天:  select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from info w ...

  2. RobotFramework:查询条件为最近一个月的数据(2019-07-09 00:00:00.000 到 2019-08-07 23:59:59.999)

    自动化测试中遇到,默认查询条件为最近一个月,所以起始时间就应该为(2019-07-09 00:00:00.000 到  2019-08-07 23:59:59.999) test ${current_ ...

  3. Django查询orm的前一天,前一周,一个月的数据

    利用datatime模块的datetime.timedelta()方法 计算时间差,以下是用法 唯一要注意的是数据库存储models.datefield字段是日期格式,所以比较的数据也是日期格式 #当 ...

  4. 【收集】sql查询统计,周,月,年

    昨天 select * from tb where datediff(day, 时间字段 ,getdate()) = 1 今天 select * from tb where datediff(day, ...

  5. mysql 查询当天、本周,本月,上一个月的数据---https://www.cnblogs.com/benefitworld/p/5832897.html

    mysql 查询当天.本周,本月,上一个月的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM ...

  6. SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录

    SQL DATEDIFF语法及时间函数 Sql 查询当天.本周.本月记录 转:http://blog.csdn.net/Json1204/article/details/7863801?locatio ...

  7. 转载:SQL按照日、周、月、年统计数据的方法

    转载源:http://www.jb51.net/article/42613.htm SQL按照日.周.月.季度.年统计数据的方法 方式一: --按日 select sum(consume),day([ ...

  8. MySQL查询近一个月的数据

    MySQL查询近一个月的数据 近一个月统计SQL select user_id, user_name, createtime from t_user where DATE_SUB(CURDATE(), ...

  9. 报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出。网上查询了一些.NET 的C#例子,发现都实现的比较复杂

    报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出.网上查询了一些.NET 的C#例子,发现都实现的比较复杂,其实这个问题可以很简单的通过.NET的DateTime函数来实现 ...

随机推荐

  1. Java核心:类加载和JVM内存的分配

    类的加载: 指的是将class文件的二进制数据读入到运行时数据区(JVM在内存中划分的) 中,并在方法区内创建一个class对象. 类加载器: 负责加载编译后的class文件(字节码文件)到JVM(J ...

  2. iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)

    由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心 ...

  3. C语言中的字符串

    字符串 字符串 用双引号引起来的多个字符. 在C语言中字符串是用’\0’结束的.即每个字符串的最后一个字符是’\0’,但是结束符不显示,仅仅标志该字符串到这儿就结束了. 二.声明字符串 char *s ...

  4. iOS沙盒目录结构解析

    iOS沙盒目录结构解析 原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713     出于安全考虑,iOS系统的沙盒机制规定每个应 ...

  5. jQuery和ExtJS的timeOut超时问题和event事件处理问题

    对jQuery来说,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表明捕获了超时事件,非常清楚. 例子: $.ajax({         type ...

  6. Photo Shop 设置

    1. 编辑 > 首选项 > 单位与标尺 2. 面板 在『窗口』 菜单下开启: 工具 选项 信息(F8) 图层(F7) 历史记录 可以将设置好的面板保存下来,这样下次别人弄乱了你的面板后,你 ...

  7. 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...

  8. PNote桌面贴小工具 - 项目管理系列文章

    项目经理在项目过程中将会使用到各种工具,以期能够相互配合,对项目组的各种管理工作进行工作的开展和完成.以前就写过一些项目工具的使用,见下链接: 1.Mindjet MindManager思维导图工具的 ...

  9. char(10)和VARCHAR(10)主要的区别是什么?

    区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 如: 存储字符串“abc", 对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符), 而同样的 ...

  10. layout 布局、手风琴accordion、选项卡tabs

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...