我有一个(有点精心设计的)SELECT
语句,它根据特定的时间戳,从表中提取特定日期的行子集。天真,像
SELECT id, runTime
FROM ...
...
WHERE runTime < @MyTime
其中@MyTime
是某个日期时间参数。我需要在很长的连续日期(从6月1日到今年11月1日)运行SELECT
,将结果存储在已创建的MyOutTable
中,并使用字段id
,runTime
,controlDate
,其中controlDate
是用于从我的表格中检索ID和runTime
的日期值。
在SQL中有一个简短的方法可以避免使用Python吗?假设有一些存储过程,它接受开始和结束日期参数并生成所需数据,填充输出表?
非常感谢
答案 0 :(得分:1)
INSERT INTO MyOutTable ( ControlDate, id, runTime )
SELECT '2017-10-30' as ControlDate, id, runTime
FROM ...
...
WHERE runTime < @MyTime
请注意,没有VALUES
个关键字,ControlDate
值是常量字面值,但您也可以使用CURDATE()
或类似关键字。
答案 1 :(得分:0)
您可以使用带有日期/时间的子查询并使用join
逻辑:
select d.dte, . . .
from (select cast('2017-06-01' as datetime) as dte union all
select cast('2017-06-02' as datetime) as dte union all
. . .
) d join
. . .
on runTime < d.dte;