DB2 V.9中的%模运算符

时间:2018-07-23 17:04:18

标签: sql db2 cognos-bi

我不熟悉从DB2进行查询,但是有一种情况,我需要选择可以除以5,无余数,超过1k的供应商付款,以及相同金额的三笔或更多笔付款。

SELECT T.VendorID, T.Amount, T.Date, ROW_NUMBER () 
  OVER (PARTITION BY T.VendorID, T.Amount ORDER BY T.Date) as "Order"
FROM TABLE T
WHERE T.Amount % 5 = 0 AND T.Amount >= 1000;

因此,我将其写入子查询中,然后在主查询中放置一个参数(“顺序> = 3”),但是,看来%模运算符会抛出错误。因为我无权访问生产数据库并无法通过Cognos 11 SQL传递查询表,所以对我来说有点麻烦。对我如何获得相同结果有帮助吗?

谢谢你, BStinson

1 个答案:

答案 0 :(得分:1)

您不会使用%运算符,因为SQL不是完整的编程语言。您将要使用MOD();功能,方法如下:

MOD( dividend, divider )

即:

SELECT T.VendorID, T.Amount, T.Date, ROW_NUMBER () OVER (PARTITION BY T.VendorID, T.Amount ORDER BY T.Date) as "Order"
FROM TABLE T
WHERE T.Amount >= 1000 AND MOD(T.Amount,5) = 0;

希望这可以帮助您走上正确的道路!