【发布时间】:2018-01-10 17:25:25
【问题描述】:
我有以下疑问:
set @DataEnd = '
select top 1 datetime
from IntradayHistory.dbo.IntradayDataHistory' + @product + '
where TickerID = ' + cast(@ticker as nvarchar(24)) + '
order by datetime desc
'
exec(@DateEnd)
这应该只返回 1 个值,它确实返回了:
但是,由于我需要该值作为 DateTime 进行动态查询,我应该怎么做?
【问题讨论】:
-
我试图在我的 CTE 表中添加这个:
where stime <= ''' + convert(nvarchar(max),@DateEnd,121) + '''但也无济于事。 -
我也试过这个:
stime <= 'exec(@DateEnd)' -
你能提供sample data and expected output吗?当我们有一些数据可供使用时,通常会更容易回答问题。
-
@destination-data 嗨,我没有确切的样本数据,但更多所以我想:
declare @DataEnd as datetime set @DataEnd = ' select top 1 datetime from IntradayHistory.dbo.IntradayDataHistory' + @product + ' where TickerID = ' + cast(@ticker as nvarchar(24)) + ' order by datetime desc'原因是因为我知道查询只会给我 1 个日期时间结果。跨度> -
我想我明白了。您是否尝试将
Date Time存储在 var 中以供以后使用?如果是这样,看看这个question。
标签: sql sql-server sql-server-2014