【问题标题】:Date filter in sql query to get today valuesql查询中的日期过滤器以获取今天的值
【发布时间】:2015-03-25 10:14:53
【问题描述】:

我想要一个来自数据表的链接,其中徽标链接是 = todate。

我正在编写此查询以获取价值

select *  from getlogo 

select * from getlogo 
where (Convert(date,logofrom) >= getdate()) and (Convert(date,logoto) <= getdate()) 
and active=0


 today = 03/25/2015
 from = database.value logofrom 
 to = database.value logoto     
 how to compare this and get value 

结果:

【问题讨论】:

  • 任何答案都解决了您的问题吗?

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

如果您希望徽标的日期范围在今天,则反转条件:

(Convert(date,logofrom) <= getdate()) and (Convert(date,logoto) >= getdate()) 

这将在您的示例中返回带有id = 2 的徽标。

【讨论】:

    【解决方案2】:

    您应该 CAST GetDate 以便在边缘包含日期:

    SELECT  *
    FROM    getlogo
    WHERE   CAST(logofrom AS DATE) <= CAST(GETDATE() AS DATE)
            AND CAST(logoto AS DATE) >= CAST(GETDATE() AS DATE)
            AND active = 0
    

    【讨论】:

      【解决方案3】:

      如果根据您的描述,您需要第二条记录作为结果..

      使用这个查询

      select * from getlogo where getdate() between convert(datetime,logofrom) 
      and convert(datetime,logoto) and  active=0
      

      【讨论】:

        猜你喜欢
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2017-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多