sql server 怎么查看最近一周的数据

sql server 怎么查看最近一周的数据,第1张

如果数据库是SQL Server,可以这样做: 找到输入日期的所在的周一,然后将数据范围限制在这个周一到下个周一之间(包括此周一,不包括下个周一)。所以,关键就在计算周一是哪一天(SQL Server中一周第几天受@@datefirst影响,默认值为7,即周日为一周第一天,但是这里需要周一为一周开始)。

declare @dateValue datetime, @startDay datetime

set @dateValue = '2014-11-11' -- 赋需要查询的日期值,不包含时分秒

set @startDay = dateadd(d, CASE WHEN datepart(dw, @dateValue) + @@DATEFIRST > 8 THEN 8 - @@datefirst ELSE 1 - @@datefirst END, dateadd(d, - datepart(dw, @dateValue) + 1, @dateValue))

select

from data_table

where date_field >= @startDay and date_field < dateadd(d, 7, @startDay) --将数据限制在从周一开始的7天内

order by date_field -- 按日期升序排列

如果是其他数据库,则可以使用类似方法实现。

查询一周的sql

week 函数是返回日期的星期数,最大是53周。可接收俩个参数date,mode。(date指定日期,mode 指定从星期几显示)

select  from wap_content where week(curdate())=week(created_at);

显示的是当周的数据,从星期天开始。

从星期一开始显示:因为(周一、三、四、六)一年多三天所以你得加上一周开始计算

select  from wap_content where week(curdate())+1=week(created_at,1);

希望对你有帮助。

select dateadd(day,-Datepart(weekday, getdate()+@@DateFirst -1)-6,getdate())--不管今天星期几,返回上周一

select dateadd(day,-Datepart(weekday, getdate()+@@DateFirst -1), getdate())--不管今天星期几,返回上周末

不过你要查询的话。。。时间范围的结尾不能用周末,要是周末的23:59:59,或这周一,SQL语句是select dateadd(day,-Datepart(weekday, getdate()+@@DateFirst -1)+1, getdate())

--本周星期一

SELECT DATEADD(dd,(case @@datefirst when 7 then 2 else 2-@@datefirst end)-datepart(dw,getdate()),getdate())

--本周星期日

SELECT DATEADD(dd,6+(case @@datefirst when 7 then 2 else 2-@@datefirst end)-datepart(dw,getdate()),getdate())

--上周星期日

SELECT DATEADD(day,-(@@datefirst+datepart(weekday,getdate())-1)%7,getdate())

--格式化后的下周第一天

SELECT convert(char(10),(dateadd(dd,6+(case @@datefirst when 7 then 2 else 2-@@datefirst end)-datepart(dw,getdate()-1),getdate())),120)

--本月第一天

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

--下月第一天

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())+1, 0)

--本月最后一天

SELECT DATEADD(dd, -1, DATEADD(mm, 1+ DATEDIFF(mm, 0, getdate()), 0))

--本年第一天

SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)

--下一年第一天

SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()+366),0)

--格式化时间

SELECT CONVERT(CHAR(10),getdate(),120)

GETDATE()

是获取当前时间的函数

取上周时间 需要用当前的减几天

需要知道 你想取得具体是什么时间

>

Oracle数据库:

第一个:SELECT DECODE(dw,

0,

'星期天',

1,

'星期一',

2,

'星期二',

3,

'星期三',

4,

'星期四',

5,

'星期五',

6,

'星期六') WEEK_DAY

FROM (SELECT 7 -

TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) -

TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw

FROM dual);

第二个语句:

SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY

FROM DUAL

SqlServer数据库:

select case datepart(weekday, getdate())

when 1 then

'星期天'

when 2 then

'星期一'

when 3 then

'星期二'

when 4 then

'星期三'

when 5 then

'星期四'

when 6 then

'星期五'

when 7 then

'星期六'

end

扩展资料:

SQL相关函数:

SQL Aggregate 函数:SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:AVG() - 返回平均值,COUNT() - 返回行数,FIRST() - 返回第一个记录的值,LAST() - 返回最后一个记录的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回总和

SQL Scalar 函数:SQL Scalar 函数基于输入值,返回一个单一的值。

有用的 Scalar 函数:UCASE() - 将某个字段转换为大写,LCASE() - 将某个字段转换为小写,MID() - 从某个文本字段提取字符;

LEN() - 返回某个文本字段的长度,ROUND() - 对某个数值字段进行指定小数位数的四舍五入,NOW() - 返回当前的系统日期和时间,FORMAT() - 格式化某个字段的显示方式。

参考资料:

百度百科——sql

--查某个日期所属的这个星期的记录

declare @datetime datetime

set @datetime = (SELECT time from user where 条件)

--前面两行的作用是从time列中按某条件取出一个值(即取出一个时间)

--下面才好根据这个时间判断一周内的记录

SET DATEFIRST 1 --设定周一为一周的第一天,默认为周日为第一天

SELECT from user

where time between (@datetime-DATEPART (Weekday,@datetime)+1)

and (@datetime+7-DATEPART (Weekday,@datetime)+1)

注:DATEPART(Weekday,datetime) 返回datetime是该周内的第几天。用法请参考Transact-SQL 参考

--查某个日期所属的这个季度的记录

SELECT from user

where time

between CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,@datetime)3-Month(@datetime)-2,@datetime),120)+'1')

and DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,@datetime)3-Month(@datetime),@datetime),120)+'1')

以上就是关于sql server 怎么查看最近一周的数据全部的内容,包括:sql server 怎么查看最近一周的数据、sql查询一周内的数据、每天数据库要查询资料,日期条件为上周一至上周日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9744921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存