gpt4 book ai didi

mysql - 如何避免有给定日期记录的空日期记录,否则需要获取空日期记录

转载 作者:行者123 更新时间:2023-11-28 23:31:01 25 4
gpt4 key购买 nike

我有一个表,其中对于相同的 AgencyMaster ID,我有多个具有不同有效开始日期和有效结束日期的条目,以及一个有效结束和有效开始均为空的条目。

如果我给出的日期没有条目,那么它应该返回带有 effectiveEnd 和 effectiveStart 的记录为 null,否则对应的记录带有特定的 effectiveStart 和 effectiveEnd 日期,但这里我的问题是它返回带有空日期的记录并记录特定日期,总共 2 条记录,那么如何避免这种情况。

select AgencyBillingSettingsMaster.AgencyBillingSettingMasterID, *
from AgencyBillingSettingsMaster
where (AgencyBillingSettingsMaster.effectivePeriodStart is not null and
AgencyBillingSettingsMaster.effectivePeriodEnd is not null and
(convert(datetime,@EffectivePeriod)>=effectivePeriodStart and
convert(datetime,@EffectivePeriod)<effectivePeriodEnd)
or (AgencyBillingSettingsMaster.effectivePeriodStart is null and
AgencyBillingSettingsMaster.effectivePeriodEnd is null))

附表截图

enter image description here

最佳答案

希望您放错了右括号。每个条件都应该是独立的,但在您当前的代码中,所有条件都在单一条件下。

代码将解决您的问题:

select AgencyBillingSettingsMaster.AgencyBillingSettingMasterID, *
from AgencyBillingSettingsMaster
where (AgencyBillingSettingsMaster.effectivePeriodStart is not null and
AgencyBillingSettingsMaster.effectivePeriodEnd is not null and
(convert(datetime,@EffectivePeriod)>=effectivePeriodStart and
convert(datetime,@EffectivePeriod)<effectivePeriodEnd)) -- here the first condition need to close
or -- the second condition should have another block
(AgencyBillingSettingsMaster.effectivePeriodStart is null and
AgencyBillingSettingsMaster.effectivePeriodEnd is null)

关于mysql - 如何避免有给定日期记录的空日期记录,否则需要获取空日期记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37359563/

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