Ich möchte den Wert von ExtractedDate aus dieser Abfrage übernehmen und ihn in der nächsten Abfrage als @LastExtractDate verwenden. Wie mache ich das?
SELECT TOP 1 [ExtractedDate]
FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc
nächste Abfrage:
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)
sql
sql-server
Steve Staple
quelle
quelle
Antworten:
warum nicht verwenden:
declare @LastExtractDate date SELECT TOP 1 @LastExtractDate=[ExtractedDate] FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc
quelle
Einfach deklarieren und zuweisen:
DECLARE @LastExtractDate DATETIME = ( SELECT TOP 1 [ExtractedDate] FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc )
oder besser:
DECLARE @LastExtractDate DATETIME = ( SELECT MAX(ExtractedDate) FROM [OnsiteV4].[dbo].[SqlPendingIndex] )
quelle
Versuchen Sie dies einfach
declare @LastExtractDate date SELECT @LastExtractDate=MAX([ExtractedDate]) FROM [OnsiteV4].[dbo].[SqlPendingIndex]
quelle
Benutze das:
DECLARE @ExtractedDate DATETIME SET @ExtractedDate = (SELECT TOP 1 ExtractedDate FROM [OnsiteV4].[dbo].[SqlPendingIndex] ORDER BY ExtractedDate DESC
quelle