仅当 NOT null 时才比较字段

Comparing fields only when NOT null

我有这样的查询。

SELECT T1.timestamp, T2.timestamp FROM (SELECT …) AS T1 LEFT OUTER JOIN (SELECT ….) AS T2 ON T1.id = T2.id WHERE T1.timestamp < T2.timestamp

我面临的问题是条件 WHERE T1.timestamp < T2.timestamp 将过滤掉 T1.timestamp < T2.timestamp 的行以及 T2.timestamp 为空的行。

在我的用例中,我不希望查询过滤掉 T2.timestamp 为空的行。 T1.timestamp < T2.timestamp 应该仅在定义了两个时间戳的情况下进行比较,并且应该 return 行,其中 T2.timestamp 为空。

有办法实现吗?

正在复制N.N。在这里回答,这样问题就不会出现 0 个答案:

WHERE T1.timestamp<= ifnull(T2.timestamp,T1.timestamp) 

而Pentium10回答:

WHERE T1.timestamp < T2.timestamp OR T2.timestamp IS NULL

(如果 N.N 或 Pentium10 将他们的评论移至答案,我将删除此答案)