2014-06-24 54 views
29

我想從此查詢中提取ExtractedDate的值,並在下一個查詢中將其用作@LastExtractDate。 我該怎麼做?選擇前1個字段並分配給本地變量

SELECT TOP 1 [ExtractedDate] 
    FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc 

下一個查詢:

insert into @table(Hex, KeyDeviceId, ObjectDateTime, ExtractedDate ) 
SELECT  CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), ObjectValue, 1)) AS Hex, KeyDeviceId, ObjectDateTime , GETDATE() 
    FROM   SQLPending 
    WHERE  (ObjectSubType LIKE '%GAS%') and (ObjectDateTime > @LastExtractDate) 
+0

爲什麼不畢竟這些年來挑一個答案哈哈 – SketchyTurtle

回答

5

簡單地聲明&分配:

DECLARE @LastExtractDate DATETIME = (
    SELECT TOP 1 [ExtractedDate] FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc 
) 

或更好:

DECLARE @LastExtractDate DATETIME = (
    SELECT MAX(ExtractedDate) FROM [OnsiteV4].[dbo].[SqlPendingIndex] 
) 
55

爲什麼不利用這一點:

declare @LastExtractDate date 
SELECT TOP 1 @LastExtractDate=[ExtractedDate] 
FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc 
0

使用此:

DECLARE @ExtractedDate DATETIME 
SET @ExtractedDate = (SELECT TOP 1 ExtractedDate 
         FROM  [OnsiteV4].[dbo].[SqlPendingIndex] 
         ORDER BY ExtractedDate DESC 
2

試試這個簡單的

declare @LastExtractDate date 
SELECT @LastExtractDate=MAX([ExtractedDate]) 
FROM [OnsiteV4].[dbo].[SqlPendingIndex] 
相關問題