Php 模糊日期匹配

Php 模糊日期匹配,php,mysql,Php,Mysql,我有一个mysql数据库的客户端,并抓取了一个网站检索过去几年的所有评论。现在我正试图将这些评论与客户进行匹配,以便我可以通过电子邮件发送给他们。问题是审查网站允许他们输入任何他们想要的名字,所以在某些情况下,我有完整的名字和姓氏,在某些情况下,我有首字母和姓氏全名。它还提供了发布的大致时间,如“1周前”、“6个月前”等,我们已经将其转换为大致日期 现在我需要试着把这些和客户匹配起来。似乎最好的方法是对姓名进行模糊搜索,然后一旦我找到所有John B%,我就会寻找一个工作完成日期最接近评论发布日

我有一个mysql数据库的客户端,并抓取了一个网站检索过去几年的所有评论。现在我正试图将这些评论与客户进行匹配,以便我可以通过电子邮件发送给他们。问题是审查网站允许他们输入任何他们想要的名字,所以在某些情况下,我有完整的名字和姓氏,在某些情况下,我有首字母和姓氏全名。它还提供了发布的大致时间,如“1周前”、“6个月前”等,我们已经将其转换为大致日期

现在我需要试着把这些和客户匹配起来。似乎最好的方法是对姓名进行模糊搜索,然后一旦我找到所有
John B%
,我就会寻找一个工作完成日期最接近评论发布日期的姓名,自然会删除在工作完成之前发布的任何内容

我收集了一个小样本数据集,其中表1是客户,表2是此处要匹配的评论:

我最初想做一个日期差异,但后来我需要按最低的数字排序。在我独自解决这个问题之前,我想我会问一下是否有人有任何他们想分享的技巧


我使用PHP/Laravel查询MySql

您可以使用带有绝对值的
DATEDIFF

ORDER BY ABS(DATEDIFF(`date`, $calculatedDate)) DESC
查找与您的估计值非常匹配的记录,无论是正面的还是负面的