繁体   English   中英

如何从两个日期向临时表中插入多条记录?

[英]How can insert multiple records into temporary table from two date?

我的存储过程中有这个查询。 查询是:

INSERT INTO #TeporaryTableAcquaMensile
SELECT 'WATER',CONVERT(varchar(12),GETDATE(),105),VALUE_START
FROM AA_V_MV_Obiettivi_x_modello_virtuale
WHERE CONVERT(varchar(12),GETDATE(),105) between DatEStart and DateEnd
  and idtipoparametro=2 AND IDModelloVirtuale=15

此查询有效,但我想为从 DateStart 到 DateEnd 的每一天插入一些值。

因此,例如,如果我有 DateStart=2015-12-01 和 DateEnd = 2015-12-31,我想插入到我的临时表中 31 条记录。 有可能做到这一点吗?

尝试这个

您需要创建一个包含 1 到 31 数据的数字表并使用

create table numbers(number int)
insert into numbers(number)
select top 31 row_number() over (order by (select 1)) from master..spt_values

INSERT INTO #TeporaryTableAcquaMensile
    SELECT 'WATER',CONVERT(varchar(12),GETDATE(),105),VALUE_START
    FROM AA_V_MV_Obiettivi_x_modello_virtuale, numbers 
    WHERE CONVERT(varchar(12),GETDATE(),105) between DatEStart and DateEnd
      and idtipoparametro=2 AND IDModelloVirtuale=15 
and number between 1 and datediff(day,dateend,dateStart)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM