【问题标题】:Date filtering not considering end date in sybase database日期过滤不考虑 sybase 数据库中的结束日期
【发布时间】:2014-06-12 13:22:07
【问题描述】:

我有一个用户界面,其中有两个日期字段,开始日期和结束日期,当用户选择日期范围时,不显示结束日期的数据。日期过滤的查询是:

    select * from dataTable where dateval between startdate and enddate.

因此,如果我选择 startdate=2014 年 6 月 1 日和 enddate=2014 年 6 月 12 日,它将不会显示 6 月 12 日的记录。请帮忙。

【问题讨论】:

    标签: sql sybase


    【解决方案1】:

    虽然没有明确说明,但您的列包括小时、分钟和秒信息。

    可能发生的情况是您的查询正在被数据库读取为所有值 >= 1 Jun 2014 00:00:00<= 12 Jun 2014 00:00:00

    您可能希望指定时间信息,或尝试将datetime 转换为截断时间信息的格式,然后查询应按预期工作:

    select * from dataTable where convert(char(10),datval,101) between "06/01/2014" and "06/12/2014"
    

    【讨论】:

      猜你喜欢
      • 2012-11-10
      • 2023-02-23
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多