【问题标题】:Oracle Date Column NULLOracle 日期列 NULL
【发布时间】:2011-08-01 18:58:40
【问题描述】:

我是 Oracle 新手,遇到了问题。我的页面上有一个包含 START_DATE 和 END_DATE 的表单,我需要将这些值与数据库中相应的 StartDate 和 EndDate 列进行比较。这些列可以为空,所以我出错了。解决这个问题有什么不同的方法?使用 ToDate 并不容易,因为我目前正在使用 Filter 类来构建我的查询,所以我正在寻找其他选项。

【问题讨论】:

    标签: c# oracle date null


    【解决方案1】:

    这将取决于您使用什么样的逻辑来处理日期。如果开始日期为 null 意味着“不适用”并且 end_date 也是如此,那么您可以执行以下操作:

    WHERE date_I_care_about
      BETWEEN nvl(start_date,to_date('19000101','YYYYMMDD'))
          AND nvl(start_date,to_date('30000101','YYYYMMDD'))
    

    也就是说,当你没有值时,只需为 start_date 和 end_date 插入任意大小的值。

    不过以上是否合适,还要看你的具体逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      相关资源
      最近更新 更多