Sql where子句中的筛选:语法错误?
请帮助我对该查询进行排序:Sql where子句中的筛选:语法错误?,sql,sql-server-2005,Sql,Sql Server 2005,请帮助我对该查询进行排序: WHERE RECEIPT_DATE BETWEEN( Coalesce(@FROM_DATE,RECEIPT_DATE) AND Coalesce(@TO_DATE,RECEIPT_DATE) ) AND OFFICE_ID=Coalesce(@OFFICE_ID,OFFICE_ID) 错误:关键字“和”附近的语法不正确。请尝试以下操作: WHERE RECEIPT_DATE BETWEEN Coalesce(@FROM_DATE, RECE
WHERE
RECEIPT_DATE BETWEEN( Coalesce(@FROM_DATE,RECEIPT_DATE) AND Coalesce(@TO_DATE,RECEIPT_DATE) )
AND
OFFICE_ID=Coalesce(@OFFICE_ID,OFFICE_ID)
错误:关键字“和”附近的语法不正确。请尝试以下操作:
WHERE
RECEIPT_DATE BETWEEN
Coalesce(@FROM_DATE, RECEIPT_DATE) AND Coalesce(@TO_DATE, RECEIPT_DATE)
AND
OFFICE_ID = Coalesce(@OFFICE_ID, OFFICE_ID)
您需要在Date1和Date2之间有两个日期,并且没有括号。试试这个:
WHERE
RECEIPT_DATE BETWEEN
Coalesce(@FROM_DATE, RECEIPT_DATE) AND Coalesce(@TO_DATE, RECEIPT_DATE)
AND
OFFICE_ID = Coalesce(@OFFICE_ID, OFFICE_ID)
您需要在Date1和Date2之间有两个日期,并且前后没有括号。检查此查询是否正常,没有错误
declare @FROM_DATE datetime
declare @TO_DATE datetime
declare @OFFICE_ID int
select * from table1 WHERE
(RECEIPT_DATE BETWEEN Coalesce(@FROM_DATE,RECEIPT_DATE) AND Coalesce(@TO_DATE,RECEIPT_DATE) )
AND
OFFICE_ID=Coalesce(@OFFICE_ID,OFFICE_ID)
where子句中的错误
BETWEEN (
因为你不能把两者放在一起 检查此查询,它工作正常,没有错误
declare @FROM_DATE datetime
declare @TO_DATE datetime
declare @OFFICE_ID int
select * from table1 WHERE
(RECEIPT_DATE BETWEEN Coalesce(@FROM_DATE,RECEIPT_DATE) AND Coalesce(@TO_DATE,RECEIPT_DATE) )
AND
OFFICE_ID=Coalesce(@OFFICE_ID,OFFICE_ID)
where子句中的错误
BETWEEN (
因为你不能把两者放在一起 BETWEEN是一个关键字,不是函数,所以不带括号。如果您发现逻辑结构的位置令人困惑,请尝试包装整个逻辑结构
WHERE (X BETWEEN A AND B) AND (Y = C)
BETWEEN是一个关键字,不是函数,所以不带括号。如果您发现逻辑结构的位置令人困惑,请尝试包装整个逻辑结构
WHERE (X BETWEEN A AND B) AND (Y = C)