sql - 在子查询中获取sql server中的列值
问题描述
以下是我的查询,我需要在选择子查询中列值而不是我得到列名 @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
我得到错误:
从字符串转换日期和/或时间时转换失败。)
解决方案
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 似乎是您需要的,您可以将表名、表列动态传递给您的查询。因此,您将能够将列名作为参数变量传递。否则,您只需选择纯文本作为记录。
推荐阅读
- r - 根据面板数据中的出现删除观察
- python - Python 从本地 csv 问题更新 google sheet
- javascript - Javascript 或 jQuery div 内部元素存储在两个变量中并修改一个变量 html 然后从另一个变量恢复 html
- arm - ARMv8.3 rcpc的含义
- android - Android Studio 无法在我的 android 设备中运行
- c# - 如何在 nunit 中 Moq 惰性接口?
- javascript - 将 html 文件加载到不同的 div 时的两个问题
- html - 从选定的下拉列表中获取 id 和 value
- javascript - redux store 中的状态发生变化,但组件在视图中没有变化
- javascript - element.onclick not 在单击元素时不调用函数