【发布时间】:2018-07-12 08:24:49
【问题描述】:
如何将列名作为 where 子句参数传递。
SELECT RP.Saturday,
RP.Sunday,
RP.Monday,
RP.Tuesday,
RP.Wednesday,
RP.Thursday,
RP.Friday,
RP.SalesMan,
MC.CustomerID,
MC.CustomerName
FROM RoutePlan RP
FULL JOIN MasterCustomer MC
ON RP.CustomerID = MC.CustomerID
WHERE MC.CreatedBy = 'abc'
AND RP.Thursday = 1;
我可以从这个查询中得到名字
(Select DATENAME(DW,GETDATE()))
但是我如何将日期名称作为参数(列名)传递。因为日期名称是字符串,搜索变量数据格式是整数,所以查询显示
将 nvarchar 值 'Thursday' 转换为数据类型 int 时转换失败。"
【问题讨论】:
-
你也可以添加你的 where 子句,eaxcatly 你想怎么发送
-
添加出现错误的部分
-
真的不知道你在这里问什么。尝试详细说明并解释您的目标。
-
您不能在 SQL 中参数化标识符。但是,对我来说,这似乎是一个XYPropblem。请编辑您的问题以将示例数据添加为DDL + DML 和所需的结果。
-
如果您想从日期名称中获取 int 值,请使用
select {fn DAYOFWEEK( getdate() )}=5
标签: sql sql-server