【问题标题】:SQL IF statement for todays date今天日期的 SQL IF 语句
【发布时间】:2018-06-25 19:29:22
【问题描述】:

我正在尝试为我的 SQL 创建一个条件,如果该行反映今天,则显示 1。

case when A.EntryDate = GETDATE() then '1' else '0' end as Today

这已被接受,但它只显示零。我只使用过 Access SQL,而这个似乎不喜欢 Date()

我一直在四处寻找答案,但似乎找不到答案。

【问题讨论】:

  • EntryDate 是日期还是日期时间?
  • 您使用的是哪个DBMS? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签postgresqloracledb2sql-server、...

标签: sql sql-server date case


【解决方案1】:

GetDate() 方法返回日期时间。要比较今天的日期,您需要将日期时间转换为日期。

case when cast(A.EntryDate as date)  = cast(getdate() as date) then 1 else 0 end

【讨论】:

  • 值得指出的是 DATE 是 2008 年添加的类型。对于旧版本:case when CAST(FLOOR(cast(A.EntryDate as FLOAT) AS DATETIME) = CAST(FLOOR(cast(getdate( ) as FLOAT)) AS DATETIME) then 1 else 0 end
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 2012-08-20
  • 1970-01-01
相关资源
最近更新 更多