【问题标题】:Please proide SQL Query that return row in which Current SYSDate exist between StartDate and Enddate请提供 SQL 查询,该查询返回 StartDate 和 Enddate 之间存在 Current SYSDate 的行
【发布时间】:2014-01-07 09:28:09
【问题描述】:

我在表 Start date 和 EndDate 中有 2 列,我想输入 Current date,如果当前日期存在于开始日期或 enddate 之间,它应该将当前日期与开始日期和结束日期进行比较,或者必须返回该行。我有查询但没有找到好的结果 select * from Seasons where CONVERT (date, GETDATE()) between '@startdate' 和 '@Endate'

【问题讨论】:

  • '@startdate' 和 '@Endate' 是日期时间吗?,日期?

标签: sql-server


【解决方案1】:

试试这个:

SELECT * FROM seasons 
WHERE getdate() >= @startdate 
AND getdate() <= @enddate

【讨论】:

  • 我试试这个,但这会返回所有记录
  • 给出你的 seasons 表中的一些示例行,并在运行时粘贴带有参数的命令。
  • 谢谢 Chris L,是的,您的查询没问题,我在您的查询中遇到了一些小错误。你的查询没问题解决了我的问题。谢谢
【解决方案2】:

选择 * 来自我的表 WHERE SYSDATE() BETWEEN start_date AND end_date

【讨论】:

    【解决方案3】:

    请检查以下代码是否适合您。

    如果日期(开始日期和结束日期)都应与当前日期匹配,则使用此日期。

     select * from Seasons where  convert(date,startdate) = CONVERT (date, GETDATE()) and convert(date,Endate) = CONVERT (date, GETDATE()) 
    

    如果任何一个日期(开始日期或结束日期)应与当前日期匹配,则使用此日期。

      select * from Seasons where  convert(date,startdate) = CONVERT (date, GETDATE()) or convert(date,Endate) = CONVERT (date, GETDATE()) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多