【问题标题】:PHP convert datetime in SQL statementsPHP在SQL语句中转换日期时间
【发布时间】:2013-06-04 10:53:02
【问题描述】:

是否可以从 SQL 语句中转换日期时间?

例子:

SELECT * FROM t_status WHERE Function to Convert(date_added) BETWEEN '2013-05-01' AND '2013-05-31'

我在表 t_status 中的日期时间格式如下:

2013-05-20, 18:00

有什么建议吗?

【问题讨论】:

    标签: php mysql database datetime


    【解决方案1】:

    您可以在 MySQL 中使用STR_TO_DATE 函数将字符串转换为日期。

    您的示例中的日期(假设逗号是有意的)可以使用格式字符串'%Y-%m-%d, %H:%i'进行转换:

    WHERE STR_TO_DATE(date_added, '%Y-%m-%d, %H:%i') BETWEEN '2013-05-01' AND '2013-05-31'
    

    或者忽略时间部分,这样做:

    WHERE STR_TO_DATE(date_added, '%Y-%m-%d') BETWEEN '2013-05-01' AND '2013-05-31'
    

    【讨论】:

      【解决方案2】:
      WHERE DATE(date_added) BETWEEN '2013-05-01' AND '2013-05-31'
      

      来自手册 - DATE(expr):提取日期或日期时间表达式 expr 的日期部分。

      下次请先尝试搜索 Stackoverflow,因为已经有很多关于此的问题 - https://stackoverflow.com/search?q=mysql+select+date+from+datetime

      例如
      datetime mySQL SELECT only date
      How to select date from datetime column?
      How to cast DATETIME as a DATE in mysql?

      【讨论】:

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