如何在选择语句vb.net中定义变量?

时间:2019-02-18 20:46:16

标签: sql

我有这样的查询

将view_src_14视为String = GetParameterValue(“ ViewSrc14”)

将calendar_date_14设置为String = GetParameterValue(“ CalendarDate14”)

select calendar_date,view_src,sum(effective) effective_total, sum(ineffective) ineffective_total 
from wrk_alert_effectiveness 
where calendar_date='" + calendar_date_14 + "' and '" + view_src_14 + "' 
group by 1,2 
order by 1 desc;

calender_date_14view_src_14是变量...当我运行查询时会出现此错误:

  

日期类型为“”的无效输入语法

我在哪里进行更改?

2 个答案:

答案 0 :(得分:1)

我认为这对于回答来说不够具体,但是对于评论来说太长了。

您正在尝试执行SQL语句,并在其中传递语句中常量的值。这是允许的,并且是SQL的一部分-使用参数。参数有两种,命名参数和位置参数。

select calendar_date, view_src,
       sum(effective) as effective_total, sum(ineffective) as ineffective_total 
from wrk_alert_effectiveness 
where calendar_date = @date1 and @date2
group by 1, 2 
order by 1 desc;

对于匿名参数,这些通常由?表示。有时,带有冒号的名字会被引入。

确切的语法取决于您的数据库和所使用的应用程序接口。我的观点是,您应该了解参数以及如何使用它们。

答案 1 :(得分:0)

"select calendar_date, view_src, sum(effective) effective_total, 
sum(ineffective) ineffective_total 
from wrk_alert_effectiveness 
where calendar_date= '" + @CalendarDate + "' AND " +  @ViewSrc + " 
group by 1,2 
order by 1 desc;"