【问题标题】:Selecting data within PHP script between date ranges SQL [duplicate]在日期范围SQL之间选择PHP脚本中的数据[重复]
【发布时间】: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()'");

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

【问题讨论】:

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

标签: php sql date


【解决方案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 日期解析为日期/时间类型的字段
猜你喜欢
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 2018-03-03
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 2018-02-19
相关资源
最近更新 更多