c#之间的语句声明

时间:2011-04-28 15:58:13

标签: sql between

我正在尝试对客户账单进行排序,我需要按不同的时间段对它们进行排序。

我一直在尝试的是:

(select billing_date from [transaktions] 
 between '" + start + "' and '" +stop+"' where konto_nr = @konto_nr")

(select billing_date from [transaktions] where konto_nr = @konto_nr" between '" + start + "' and '" +stop+"')

start =日期的开始时间段 停止=期间的结束

我收到的错误消息是

  

关键字附近的语法不正确   '之间'。

2 个答案:

答案 0 :(得分:2)

首先:你应该永远将你的SQL语句连接在一起!对于SQL注入攻击来说,这是一个很大的大开门......

第二:您需要将BETWEEN子句放入WHERE子句:

SELECT billing_date 
FROM dbo.[transaktions] 
WHERE Billing_Date BETWEEN @Start AND @EndDate
AND konto_nr = @konto_nr

答案 1 :(得分:1)

您的语法应该类似于

where Transaktions.Billing_Date between StartDate and EndDate

您正在使用的明显的相应列和变量名称。是的,您将“billing_date”称为选定列,但WHERE可以测试其他条件列,因此您必须在那里明确标识它。