【问题标题】:How do i Get the difference between the current date and a Date in the database and Display it in the table [duplicate]我如何获取当前日期和数据库中日期之间的差异并将其显示在表中[重复]
【发布时间】:2019-09-05 08:52:31
【问题描述】:
$query= "SELECT * FROM debtors WHERE DATE_FORMAT(DueDate,'%Y-%m-%d') < CURDATE()"; 

这是我用来获取已过今天日期的日期的 sql 查询。

【问题讨论】:

  • 我正在使用 sql dbms
  • SQL 是一种语言,由 ISO/ANSI 指定。也许您的意思是 MS SQL Server?
  • 其实这是我的大学项目,我在 phpmyadmin 中做
  • 然后仅供参考:您目前正在使用 MySQL 或 MariaDB,因为 CURDATE 仅存在于那些 AFAIK 上
  • 我认为我在使用 MariaDB

标签: php mysql sql


【解决方案1】:
$query=SELECT *,DATEDIFF(mm,YOUR_DATE,CURRENT_TIMESTAMP) as diffInMonth FROM debator;

可能对你有帮助。它适用于我的 MS SQL 2012。 DATEDIFF(interval,start_date,end_date);

【讨论】:

  • $query="SELECT *, datediff(curdate(), DueDate) as dd FROM 债务人 WHERE DATE_FORMAT(DueDate,'%Y-%m-%d')
【解决方案2】:

以下是根据您的查询获得差异的方法。使用datediff

$query= "SELECT *, datediff(curdate(), DueDate) FROM debtors WHERE DATE_FORMAT(DueDate,'%Y-%m-%d') < CURDATE()"; 

【讨论】:

  • 非常感谢,终于得到答案了,谢谢
【解决方案3】:

请试试这个:

$query= "SELECT *, DATEDIFF(CURDATE(), STR_TO_DATE(DueDate, '%Y-%m-%d')) AS days FROM debtors WHERE DATE_FORMAT(DueDate,'%Y-%m-%d') < CURDATE()";

【讨论】:

  • 感谢您的回答,我尝试了@metal 回答,它工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多