SQL数据库 怎么自定义哪一天到哪一天为一周

SQL数据库 怎么自定义哪一天到哪一天为一周,第1张

自己建个表,存贮周信息

看你的需要 可以只存周的开始和结束日期,也可以存从周一到周日的日期。

/

功能: 计算在某一段时间内某周几(如星期一)的所有日期

设计:OK_008

时间:2006-10

/

DECLARE @Date datetime

DECLARE @StartDate datetime

DECLARE @EndDate datetime

DECLARE @WeekDay int

DECLARE @i int

SET DATEFIRST 7 --设置每周的第一天

SET @StartDate='2006-01-01' --统计的开始日期

SET @EndDate='2006-12-31' --统计的结束日期

SET @WeekDay=1 --根据实际的@@DATEFIRST而定,一般默认是7,如 @StartDate='2006-01-01'时候, @WeekDay=3表示星期二

SET @i=DATEPART(weekday,@StartDate)

PRINT '每周的第1天设置@@DATEFIRST: '+CAST(@@DATEFIRST AS nvarchar(1))

PRINT '开始日期对应一周的第几天: '+CAST(@i AS nvarchar(1))

IF(@i<=@WeekDay AND @i<7)

SET @i=@WeekDay-@i

ELSE IF(@i<=@WeekDay AND @i=7)

SET @i=@i-@WeekDay

ELSE

SET @i=@@DATEFIRST-@i+@WeekDay

SET @Date=DATEADD(day,@i,@StartDate)

WHILE @Date<=@EndDate

BEGIN

IF(@StartDate<=@Date) PRINT CONVERT(nvarchar(10),@Date,121)

SET @Date=DATEADD(Week,1,@Date)

END

GO

/ ==============运行结果================/

/

每周的第1天设置@@DATEFIRST: 7

开始日期对应一周的第几天: 1

2006-01-01

2006-01-08

2006-01-15

2006-01-22

2006-01-29

/

--这是开始时间,末一天的话 用dateadd(day,1,@DATE)

weekdate=weekday(date()) '今天礼拜几的值:0123456

'查询所有本周内注册的会员的ID

sql="select [id] from [tableName] where datediff(d,[datetime],getdate())<="&weekdate

rsopen sql,conn,1,1

'查询一周内的信息的条数

sql="select count(1) from [tableName] where datediff(d,[datetime],getdate())<="&weekdate

rsopen sql,conn,1,1

把getdate()改成now(),d改成'd'就可以了吧

=====================================================

'默认值应该是now()吧!

'就下面这样了

sql="select [id] from [tableName] where datediff('d',[o_time],now())<="&weekdate

=====================================================

weekdate=weekday(date()) 写在什么地方,能不能不判断今天星期几?

asp里面啊weekdate就等于0,1,2,3,4,5,6

还是多看看书吧

set language N'Simplified Chinese'

select datename(weekday, 数据添加日期列名) as dayOnweek, from 表名 

where datediff(week,数据添加日期列名,'2014-11-1')=0

select DATENAME(week,getdate())

这是取当前日期的第几周

如果要指定字段的只要把getdate()换为字段名称 如:

select DATENAME(week,字段名称) as weekNum from 表名称

参照下面的关于DATENAME

>

一、dateadd()方法说明

sql server提供了日期函数dateadd用于获得某日期指定间隔后的日期。

1

定义和用法

dateadd()

函数在日期中添加或减去指定的时间间隔。

2

语法

dateadd(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值:

datepart

缩写

yy,

yyyy

季度

qq,

q

mm,

m

年中的日

dy,

y

dd,

d

wk,

ww

星期

dw,

w

小时

hh

分钟

mi,

n

ss,

s

毫秒

ms

微妙

mcs

纳秒

ns

实例

假设我们有下面这个

"orders"

表:

orderid

productname

orderdate

'computer'

2016-12-29

16:25:46635

现在,我们希望向

"orderdate"

添加

2

天,这样就可以找到付款日期。

我们使用如下

select

语句:

select

orderid,dateadd(day,2,orderdate)

as

orderpaydatefrom

orders

结果:

orderid

orderpaydate

2016-12-31

16:25:46635

二、sql代码

print dateadd(day, -3, getdate())

三、运行测试

05 20 2017 3:10pm

以上就是关于SQL数据库 怎么自定义哪一天到哪一天为一周全部的内容,包括:SQL数据库 怎么自定义哪一天到哪一天为一周、sql server 2005 怎么获取本周的数据、sql怎么取出某一周的七天数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9606620.html

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

发表评论

登录后才能评论

评论列表(0条)

保存