--大于等于写法DECLARE@BDateASdate;SET@BDate=/*SELECT FROM OINV T0 WHERE T0."DocDate" >= */'[%0]';--小于等于写法DECLARE@EDateASdate;SET@EDate=/*SELECT FROM OINV T0 WHERE T0."DocDate" <= */'[%1]';--等于写法DECLARE@WarehouseAS NVARCHAR(8);SET@Warehouse=/*SELECT FROM INV1 T1 WHERE T1."WhsCode" = */'[%2]';--LIKE写法DECLARE@DscriptionAS NVARCHAR(254);SET@Dscription=/*SELECT FROM INV1 T3 WHERE T3."Dscription" LIKE */'%%[%4]%%';--然后可以在查询语句里使用以上变量SELECT*FROM OINV T0
INNERJOIN INV1 T1 ON T0."DocEntry"= T1."DocEntry"WHERE T0."DocDate">=@BDate--大于等于AND T0."DocDate"<=@EDate--小于等于AND(T1."WhsCode"=@WarehouseOR@Warehouse='')--等于或者没有输入条件AND(T1."Dscription"LIKE@DscriptionOR@Dscription='')--LIKE或者没有输入条件;
HANA版写法
--大于等于写法DECLARE BDate date;
BDate :=/*SELECT FROM OINV T0 WHERE T0."DocDate" >= */'[%0]';--小于等于写法DECLARE EDate date;
EDate :=/*SELECT FROM OINV T0 WHERE T0."DocDate" <= */'[%1]';--等于写法DECLARE Warehouse NVARCHAR(8);
Warehouse :=/*SELECT FROM INV1 T1 WHERE T1."WhsCode" = */'[%2]';--LIKE写法DECLARE Dscription NVARCHAR(254);
Dscription :=/*SELECT FROM INV1 T3 WHERE T3."Dscription" LIKE */'%%[%4]%%';--然后可以在查询语句里使用以上变量SELECT*FROM OINV T0
INNERJOIN INV1 T1 ON T0."DocEntry"= T1."DocEntry"WHERE T0."DocDate">= BDate --大于等于AND T0."DocDate"<= EDate --小于等于AND(T1."WhsCode"= Warehouse OR Warehouse ='')--等于或者没有输入条件AND(T1."Dscription"LIKE Dscription OR Dscription ='')--LIKE或者没有输入条件;