Where子句按两列顺序排列



我想选择一个查询,在该查询中,我可以从基于表的2列中提取记录,其中时间戳值在两列中顺序匹配。

SELECT *
FROM commerce_order
WHERE CHANGED BETWEEN 1638342000 AND 1641020400
AND created BETWEEN 1638342000 AND 1641020400

类似于上午10点的列更改更新31和上午11点创建的列具有值31,两者都应显示在结果1上午10点,然后显示在下一个晚上11点的中

10 AM
11 AM

因此;创建";时间戳应该在"0"之后1分钟;"已更改";时间戳?

然后你可以在一分钟内截断它们进行比较。

select *
from commerce_order
where changed between unix_timestamp('2021-12-01 07:00') and unix_timestamp('2022-01-01 07:00')
and cast(date_format(from_unixtime(created), '%Y-%m-%d %H:%i') AS datetime) = cast(date_format(from_unixtime(changed), '%Y-%m-%d %H:%i') AS datetime) + interval 1 minute

db<gt;小提琴这里

最新更新