【问题标题】:Convert date time field to date and check the value将日期时间字段转换为日期并检查值
【发布时间】:2018-07-16 15:01:15
【问题描述】:

是否可以将具有日期和时间的字段条目转换为仅日期并在 SQL 查询中检查此值是否等于 TODAY?

有一个字段 EntryDate 的值类似于 Tuesday, October 04, 2016 12:00 AM - 我可以以某种方式将其转换为日期,并将其与 TODAY 进行比较吗?

谢谢

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。
  • EntryDate 是正确的timestamp 类型吗?如果是这样,则转换为date 是第一部分:modern-sql.com/feature/extract#related-cast 另一部分是将其与current_date 进行比较。如果EntryDate 是字符串类型,那么你的日子不好过:(
  • 这是这个问题的一个简单变化:stackoverflow.com/q/1843395/224704 即使您不使用 SQL Server,它也应该有所帮助。如果您使用的是 SQL Server,您的问题可能会被视为重复。
  • 你试过转换功能吗?

标签: sql datetime type-conversion


【解决方案1】:

如果您使用 SQL Server,您可能会很幸运:

    select PARSE('Tuesday, October 04, 2016 12:00 AM' as datetime)

为了完整起见,您可以比较今天日期的日期部分。

    SELECT
    CASE WHEN PARSE('Tuesday, October 04, 2016 12:00 AM' as datetime) = CONVERT(date, getdate()) THEN 'YES'
    ELSE 'NO' END

【讨论】:

    【解决方案2】:

    是时间戳吗?如果是这样,那么只需将其转换为 Date。

    SELECT CAST(tstamp AS DATE)
    

    【讨论】:

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