получить значение столбца в sql server в подзапросе - PullRequest
0 голосов
/ 22 ноября 2018

Следующий запрос - мой, и мне нужно указать значение столбца в подзапросе select. Вместо этого я получаю имя столбца @Temp = временная таблица

insert into @Temp([dateTime],Reading) 
values (@startDate,(select top(1) @trendId from TABLENAME where deviceTimestamp >= @startDate and deviceTimestamp < @tempdt  order by deviceTimestamp desc))

ALTER PROCEDURE ProcName 
#trendId as nvarchar(max), 
#startDate as datetime, 
#endDate as datetime 
AS 
BEGIN 
  declare #stt varchar(200) = 'select deviceTimestamp,' + #trendId + ' '+'as reading 
  from TableName 
  where deviceTimestamp >= '+#startDate+'and deviceTimestamp < '+#endDate+' 
  order by deviceTimestamp desc' 

exec(#stt)END 

Я получаю сообщение об ошибке:

Ошибка преобразования при преобразовании даты и / или времени из символьной строки.)

1 Ответ

0 голосов
/ 22 ноября 2018
DECLARE @sqlCommand varchar(1000)
DECLARE @columnList varchar(75)
DECLARE @city varchar(75)

SET @columnList = 'AddressID, AddressLine1, City'
SET @city = '''London'''
SET @sqlCommand = 'SELECT ' + @columnList + ' FROM Person.Address WHERE City = ' + @city

EXEC (@sqlCommand)

Проверьте эту ссылку. Динамический SQL кажется тем, что вам нужно, вы можете динамически передавать имя таблицы, столбцы таблицы в свой запрос.так что с этим вы сможете передать имя столбца в качестве параметра-переменной.в противном случае вы просто выбираете обычный текст в качестве записи.

...