Sql server 创建多个where-sql语句
我正在尝试创建一个sql语句,它涉及到将两个日期之间的一个成本字段的总数相加,并将客户id设置为某个值。我目前的声明如下:Sql server 创建多个where-sql语句,sql-server,where,between,Sql Server,Where,Between,我正在尝试创建一个sql语句,它涉及到将两个日期之间的一个成本字段的总数相加,并将客户id设置为某个值。我目前的声明如下: SELECT SUM(COST) AS TotalCost FROM ORDERS WHERE ( DATE BETWEEN '01/01/2012' AND '09/25/2015' ) AND WHERE CUSTOMERID = '23' 但是,当我运行此命令时,会出现一个错误: java.sql.SQLSyntaxErrorException
SELECT SUM(COST) AS TotalCost
FROM ORDERS
WHERE ( DATE BETWEEN '01/01/2012' AND '09/25/2015' )
AND WHERE CUSTOMERID = '23'
但是,当我运行此命令时,会出现一个错误:
java.sql.SQLSyntaxErrorException:语法错误:在遇到“WHERE”时
第1行,第98列
我知道这是我语句中的一个语法错误,但我不确定应该如何编写它来防止这种情况发生
WHERE (DATE BETWEEN '01/01/2012' AND '09/25/2015') AND CUSTOMERID='23'
这个版本应该有效;额外的where子句,我假设您的customerid是一个整数,而不是字符串
SELECT SUM(COST) AS TotalCost
FROM ORDERS
WHERE (
DATE BETWEEN convert(datetime, '01/01/2012') AND convert(datetime, '09/25/2015')
)
AND CUSTOMERID = 23
当我尝试将此错误改为java.sql.SQLSyntaxErrorException时:不支持“INTEGER”和“CHAR(UCS_BASIC)”之间的比较。CUSTOMERID是什么类型的字段?如果是整数,那么您的语句将是且CUSTOMERID=23,这是一个int,它解决了这个问题,但现在我有一个不同的错误,即CUSTOMERID列不存在,即使它是does@NickKaraolis-这不是你的个人调试服务。@Martin Smith我从来没有说过,我只是说在使用他的代码更改后发生了什么