我想从此查询中获取ExtractedDate的值,并在下一个查询中将其用作@LastExtractDate.我怎么做?
SELECT TOP 1 [ExtractedDate]
FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc
Run Code Online (Sandbox Code Playgroud)
下一个查询:
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)
Run Code Online (Sandbox Code Playgroud)
Bre*_*der 102
为什么不用这个:
declare @LastExtractDate date
SELECT TOP 1 @LastExtractDate=[ExtractedDate]
FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc
Run Code Online (Sandbox Code Playgroud)
用这个:
DECLARE @ExtractedDate DATETIME
SET @ExtractedDate = (SELECT TOP 1 ExtractedDate
FROM [OnsiteV4].[dbo].[SqlPendingIndex]
ORDER BY ExtractedDate DESC
Run Code Online (Sandbox Code Playgroud)
只需声明并指定:
DECLARE @LastExtractDate DATETIME = (
SELECT TOP 1 [ExtractedDate] FROM [OnsiteV4].[dbo].[SqlPendingIndex] order by ExtractedDate desc
)
Run Code Online (Sandbox Code Playgroud)
或更好:
DECLARE @LastExtractDate DATETIME = (
SELECT MAX(ExtractedDate) FROM [OnsiteV4].[dbo].[SqlPendingIndex]
)
Run Code Online (Sandbox Code Playgroud)
小智 5
简单地试试这个
declare @LastExtractDate date
SELECT @LastExtractDate=MAX([ExtractedDate])
FROM [OnsiteV4].[dbo].[SqlPendingIndex]
Run Code Online (Sandbox Code Playgroud)