如何解决如果当前为null,则使用其他值
AND (some_date >= prog_start)
如果some_date
为null,则使用其他值进行比较时需要什么。
像这样:
AND (some_date ? some_date : Now() >= prog_start)
我如何在sql中做到这一点?
解决方法
您似乎想要coalesce()
:
where coalesce(some_date,now()) >= prog_start
coalesce()
返回其第一个非null
参数。因此,当some_date
为null
时,上述表达式将返回now()
,然后将其与prog_start
进行比较。
如果您只是在寻找NULL语句,您将执行以下操作:
SELECT prog_start FROM program WHERE some_date IS NULL;
NULL语句正在寻找没有值的任何字段,而不是可能是0或空字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。