如果所选日期 >= 到 current_date,则使用最小日期更新日期字段,除非所有日期 >= 到当前日期
Posted
技术标签:
【中文标题】如果所选日期 >= 到 current_date,则使用最小日期更新日期字段,除非所有日期 >= 到当前日期【英文标题】:Updating date field with min date from selected dates if they are >= to current_date, except when all dates are >= to current date 【发布时间】:2021-01-16 17:19:08 【问题描述】:我想更新 Date1 列的内容以反映每一行中最旧的日期,除非日期已经过去(Date1
ID | Date 1 | Date 2 | Date 3 | Date 4 |
---|---|---|---|---|
001 | 01/14/2022 | 01/14/2022 | 01/15/2022 | 01/16/2022 |
002 | 04/15/2019 | 04/15/2019 | 01/10/2021 | 01/10/2021 |
我正在使用
update mytable t
set date1 = (
select min(date)
from (values (date2), (date3), (date4)) d(dt)
where dt >= current_date
)
我遇到的唯一问题是 所有 可用日期早于当前日期。在这种情况下,它会用 null 覆盖 date1 列中的值,这并不理想。我希望查询在这些情况下保持 date1 字段不变。
【问题讨论】:
请告诉我们更多关于您使用的软件的信息? Postgres 和 SQL? 是的,我在 PgAdmin 4 中使用 PostgreSQL。 【参考方案1】:想通了:
update mytable t
set date1 = coalesce ((
select min(date)
from (values (date2), (date3), (date4)) d(dt)
where dt >= current_date
), date 1);
【讨论】:
以上是关于如果所选日期 >= 到 current_date,则使用最小日期更新日期字段,除非所有日期 >= 到当前日期的主要内容,如果未能解决你的问题,请参考以下文章
如果在第二次单击时未选择日期并出现日期验证问题,则日期选择器会从日期选择器文本框中清除所选值
Jquery datepicker下拉列表显示当前日期而不是所选日期
使用 Jquery UI Datepicker 重定向到 URL:根据所选日期更改 URL 值