【问题标题】:How to compare date when its save as type text in database如何在数据库中保存为类型文本时比较日期
【发布时间】:2017-12-01 06:23:32
【问题描述】:

我正在使用 WPDB,这是我的 SQL

$date = date('d-m-Y');
$reservations = $wpdb->get_results( "SELECT * FROM reservation_db WHERE `date` > '$date'");

当数据库中的日期大于今天时,我需要选择数据库中的日期。 我的日期格式是dd-mm-yyyy,但我认为因为它保存在文本中,它只比较错误的天数(dd),有什么解决方案可以解决这个问题吗?

【问题讨论】:

  • 实际上,这不是一个好习惯。您应该使用datedatetime 数据类型来保存日期。
  • 查看此链接,它看起来与您的问题相似。 Link
  • 谢谢!我不会再这样做了。现在解决问题。欣赏

标签: php mysql sql-server wordpress date


【解决方案1】:

MySQL 提供STR_TO_DATE 函数将日期字符串转换为日期:

SELECT * FROM reservation_db WHERE STR_TO_DATE(`date`) > '$date'

但正如above comment中提到的ankit suthar,不建议将日期存储为文本。

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 1970-01-01
    • 2014-12-26
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多