找回密码
 注册
首页 ≡≡网络技术≡≡ 数据库 SQL查询今天与昨天的记录,及本月记录、本周记录 ...

SQL查询今天与昨天的记录,及本月记录、本周记录

灰儿 2016-9-13 11:03:31
数据操作中涉及到统计的部分主要借助数据库内置函数完成
SQL查询今天的记录:
datediff(day,[Datetime],getdate())=0  把Datetime换为你的相应字段;
SQL查询昨天的记录:
datediff(day,[Datetime],getdate())=1  把Datetime换为你的相应字段,getdate()-Datetime即为时间差。
本月记录:
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
本周记录:
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
本日记录:
SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0


函数
参数/功能
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指定部分所对应的字符串名称
另外一种使用内置函数查询的方法
测试表
SELECT [Id]      ,[Consume]--decimal      ,[Date] --datatime  FROM [Coder].[dbo].[ConsumeRecord]
统计函数
[url=][/url]
--按日 select sum(consume),day([date]) from consumerecord where year([date]) = '2013' group by day([date]) --按周quarterSET  DATEFIRST  1 --Sets the first day of the week to a number from 1 through 7select sum(consume),datename(week,[date]) from consumerecord where year([date]) = '2013' group by datename(week,[date]) --按月 select sum(consume),month([date]) from consumerecord where year([date]) = '2013' group by month([date]) --按季 select sum(consume),datename(quarter,[date]) from consumerecord where year([date]) = '2013' group by datename(quarter,[date]) [url=][/url]

tips
To see the current setting of SET DATEFIRST, use the @@DATEFIRST function.
参考


您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。