1

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

我一直在尝试的是:

(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 = 日期的开始期间 stop = 期间的结束

我收到的错误消息是

关键字“between”附近的语法不正确。

4

2 回答 2

2

首先:你不应该你的 SQL 语句连接在一起!这为 SQL 注入攻击打开了一扇大门……

第二:您需要将您的BETWEEN子句放入一个WHERE子句中:

SELECT billing_date 
FROM dbo.[transaktions] 
WHERE Billing_Date BETWEEN @Start AND @EndDate
AND konto_nr = @konto_nr
于 2011-04-28T16:02:15.473 回答
1

您的语法应该类似于

where Transaktions.Billing_Date between StartDate and EndDate

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

于 2011-04-28T16:01:47.620 回答