在日期范围SQL之间选择PHP脚本中的数据[重复]

Posted

技术标签:

【中文标题】在日期范围SQL之间选择PHP脚本中的数据[重复]【英文标题】:Selecting data within PHP script between date ranges SQL [duplicate] 【发布时间】:2012-02-06 08:19:18 【问题描述】:

可能重复:Selecting date range within 65 years using JOIN perhaps?

我正在尝试在一个 php 发布脚本上提取一个查询,该脚本将提取信息

SELECT  `id`
FROM    `leads`
WHERE   `status` = 'Passed'
  AND   `campaign_id` = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'

原行是

$id_query  =  mysql_query("SELECT  `id` FROM  `leads` WHERE  `status` =  'Passed' AND     'campaign_id' =  '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee'");<br>
$id = mysql_fetch_row($id_query);<br>
echo $id[0];

因此,我想添加一个选择大于 65 年的日期变量:

BETWEEN (current_date - "DateField") > 365.0 * 65.0

但显然这不起作用。我正在研究使用 JOIN 并添加

AND 'datesubmitted_c' BETWEEN Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()

所以我的新行看起来像这样

$id_query  =  mysql_query("SELECT  `id` FROM  `leads` WHERE  `status` =  'Passed' AND
campaign_id' =  '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND 'datesubmitted_c' BETWEEN 
Date_Add(curDate(), INTERVAL -65 YEARS) AND curDate()'");

这似乎仍然无法正常工作,有什么建议吗?

【问题讨论】:

你不是今天早些时候问过这个问题吗? ***.com/questions/8791626/… 使用两个语句:小于和大于?例如。 WHERE datesubmitted_c &gt; '1992-09-07' AND datesubmitted_c &lt; NOW() 我做了 Mat 我重发了很多次帖子,所以我只发布了我最新的并且正在工作/没有工作的内容。最后一个似乎也到处都是=) 在这种情况下,您应该编辑原始问题而不是发布新问题。 不要再次提问,编辑你原来的问题。 【参考方案1】:

试试这个:

$id_query  =  mysql_query("
    SELECT  `id` FROM  `leads` WHERE  `status` =  'Passed' AND
    `campaign_id` =  '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND STR_TO_DATE(datesubmitted_c, '%m/%d/%y') >= Date_Add(curDate(), INTERVAL -65 YEARS) "
);

由于您只希望提交过去 65 年的日期,因此不需要 BETWEEN,而且该语法的可移植性较差。

datesubmitted_c 字段必须是日期类型。要验证这一点,请执行“DESC 引导;”如果它不是日期类型,则需要执行 STR_TO_DATE(datesubmitted, '%m/%d/%y') AS 日期 即时更改,或者更好的是,更改字段的类型(如果可以的话)

【讨论】:

仍然声明它是一个无效的参数:\ 正在放置 SELECT id FROM leads WHERE status = '通过' andcampaign_id = '22d0cf4f-0f81-28b1-d8dc-4f046bd1d8ee' AND @987654_326@ >= curDate(), 间隔 -65 年) 另外,你能做一个DESC leads;吗?我想知道 datesubmitted_c 是否不是日期/时间类型 那是你的问题。如果它的 mm/dd/yyyy,那些不是日期。您需要将日期 STR_TO_DATE(datesubmitted_c, '%m/%d/%y') AS 日期解析为日期/时间类型的字段

以上是关于在日期范围SQL之间选择PHP脚本中的数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定日期之间在sql中选择我选择的客户订单[重复]

创建两个日期之间所有日期的数组或列表[重复]

检查日期是不是在 sql 中的日期范围之间(不检查年份)

3个日期范围之间的Mysql查询

在两个不同的日期之间搜索[重复]

SQL语句如何判断一个日期在两个日期之间