在查询结束时需要帮助限制函数的结果

时间:2014-02-19 23:18:04

标签: sql db2

我有一个函数,我正在使用我的SELECT语句,我试图限制我的where语句的结果,但似乎无法弄清楚如何命名它或告诉它引用该特定的功能。我想我可以通过将函数放在自己的WITH语句中来实现这一点,但是如果可能的话,我宁愿这样做。

选择 DAYS(CURDENT DATE) - DAYS(DATE(B.TSTAMP))AS“TRANSIT”

从这个函数我想把“WHERE TRANSIT> ='8'”当我现在这样做时,我得到错误“TRANSIT”在使用它的上下文中无效。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您无法引用SELECTWHERE条款中的内容,它会首先处理WHERE(请参阅this article)。

您可以通过将查询推送到子查询,然后引用名称来“修复”您的问题:

SELECT *
FROM (
    SELECT DAYS (CURRENT DATE) - DAYS (DATE(B.TSTAMP)) AS "TRANSIT"
    FROM your_table
) A
WHERE TRANSIT >= 8