【问题标题】:Mysql strip time component from datetimeMysql 从 datetime 中剥离时间组件
【发布时间】:2010-09-21 00:43:05
【问题描述】:

我需要在不考虑时间分量的情况下在 Mysql 中进行日期比较,即我需要将 '2008-11-05 14:30:00' 转换为 '2008-11-05'

目前我正在这样做:

SELECT from_days(to_days(my_date))

有合适的方法吗?

【问题讨论】:

    标签: sql mysql datetime


    【解决方案1】:

    是的,使用date函数:

    SELECT date(my_date)
    

    【讨论】:

    • 就是这个。谢谢。由于某种原因,最后在答案列表中。
    【解决方案2】:

    在 PostgreSQL 中,您使用 TRUNC() 函数,但我没有在 MySQL 中看到它。根据我简短的谷歌搜索,您似乎需要将 DATETIME 值转换为 DATE。

    date_col = CAST(NOW() AS DATE)
    

    http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html

    【讨论】:

    • date_trunc()(不是trunc())实际上不会删除 Postgres 中的时间部分。它只会将其设置为 00:00:00,这是不同的。
    【解决方案3】:

    select date(somedate) 是最常见的。

    如果需要适应其他格式,可以使用:

    SELECT DATE_FORMAT(your_date, '%Y-%m-%d');
    

    【讨论】:

    • DATE_FORMAT 仅在提取年份组件时非常有用。谢谢。
    【解决方案4】:

    你可以使用ToShortDateString();

    【讨论】:

    • 这不是 C# 函数吗?问题是在 MySQL 解决方案之后
    • 它是 C#,实际上它不会删除时间戳:将当前 DateTime 对象的值转换为其等效的短日期字符串表示形式。
    【解决方案5】:

    只是一种简单的方法date("d F Y",strtotime($row['date'])) 其中$row['date'] 来自您的查询

    【讨论】:

      猜你喜欢
      • 2021-01-03
      • 2012-07-07
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多