SQL在同一周内获取记录
我有一个表,其中包含一列指示日期的记录。给定一个记录,我想选择与该记录在同一周内的所有记录。SQL如何做到这一点 我应该说我正在使用SQLite。使用SQL在同一周内获取记录,sql,sqlite,select,Sql,Sqlite,Select,我有一个表,其中包含一列指示日期的记录。给定一个记录,我想选择与该记录在同一周内的所有记录。SQL如何做到这一点 我应该说我正在使用SQLite。使用datediff()函数: datediff(ww,start_date,end_date) < 1 datediff(ww、开始日期、结束日期)
datediff()
函数:
datediff(ww,start_date,end_date) < 1
datediff(ww、开始日期、结束日期)<1
使用datediff()
函数:
datediff(ww,start_date,end_date) < 1
datediff(ww、开始日期、结束日期)<1
您可以使用来指定所需的记录
SELECT * FROM records WHERE datecolumn between 'YYYY/MM/DD' AND 'YYYY/MM/DD'
可以使用指定所需的记录
SELECT * FROM records WHERE datecolumn between 'YYYY/MM/DD' AND 'YYYY/MM/DD'
您可以将
DATEPART
与wk
一起使用以获取当前周。然后检查是否相等。
在本例中,我还检查了yy
,以确保您没有检查前一周的年份
SELECT *
FROM TABLE
WHERE DATEPART(wk, TABLE.DATECOLUMN)
= DATEPART(wk, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND DATEPART(yy, TABLE.DATECOLUMN) = DATEPART(yy, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
SQLITE的更新
在SQLLite中执行此操作,然后。这给了你:
SELECT *
FROM TABLE
WHERE STRFTIME('%W', TABLE.DATECOLUMN)
= STRFTIME('%W', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND STRFTIME('%Y', TABLE.DATECOLUMN)
= STRFTIME('%Y', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
您可以将
DATEPART
与wk
一起使用以获取当前周。然后检查是否相等。
在本例中,我还检查了yy
,以确保您没有检查前一周的年份
SELECT *
FROM TABLE
WHERE DATEPART(wk, TABLE.DATECOLUMN)
= DATEPART(wk, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND DATEPART(yy, TABLE.DATECOLUMN) = DATEPART(yy, (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
SQLITE的更新
在SQLLite中执行此操作,然后。这给了你:
SELECT *
FROM TABLE
WHERE STRFTIME('%W', TABLE.DATECOLUMN)
= STRFTIME('%W', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
AND STRFTIME('%Y', TABLE.DATECOLUMN)
= STRFTIME('%Y', (SELECT DATECOLUMN FROM TABLE WHERE ID = GivenID))
似乎您必须使用类似于此的内容,但经过修改,以使开始日期基于所选记录的日期。似乎您必须使用类似于此的内容,但经过修改,以使开始日期基于所选记录的日期。