gpt4 book ai didi

sql - 使用解码功能在Oracle中比较日期

转载 作者:行者123 更新时间:2023-12-04 09:04:42 24 4
gpt4 key购买 nike

我需要使用Oracle解码功能比较两个日期,以查看一个日期是否与另一个日期相对应。

我找到了这篇文章-http://www.techonthenet.com/oracle/functions/decode.php

如果date1> date2,则哪个(在底部)声明以下解码函数将返回date2:

decode((date1 - date2) - abs(date1 - date2), 0, date2, date1)

如果date1> = date2,这不会返回date2吗?

还是仅仅是date1> date2?

有没有更简单的解决方案?

最佳答案

如果date2 <= date1,则该函数将返回date2。插入值并将其转换为伪代码,您将获得if 0 - 0 = 0 then date2 else date1,其中两个日期相同。

如果您使用的是8i或更高版本,则更好的解决方案是使用case:

SELECT CASE WHEN date1 >= date2 THEN date2 ELSE date1 END FROM Your_Table;

由于 case允许不等号运算符,因此更具可读性。

或者,如果您想更简洁,则可以使用旨在返回n值中较低的值的函数:
SELECT LEAST(date1, date2) FROM Your_Table;

(还有一个 GREATEST函数,其作用与此相反。)

关于sql - 使用解码功能在Oracle中比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com