我正在尝试对客户账单进行排序,我需要按不同的时间段对它们进行排序。
我一直在尝试的是:
(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 =日期的开始时间段 停止=期间的结束
我收到的错误消息是
关键字附近的语法不正确 '之间'。
答案 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可以测试其他条件列,因此您必须在那里明确标识它。