簡體   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