如何在SQL中获得一年中的第一天和一年中的最后一天?

时间:2015-04-29 14:21:45

标签: php mysql datetime

我正在尝试根据datetime从我的数据库中获取一组信息。 我目前正在使用这些语句来获取信息:

$year_posts = $_GET['year'];
if ($_GET['year'] = date("Y")){
    $state_sql = " AND p.start_date = DATE_FORMAT(NOW() ,'%Y-01-01') and p.end_date = NOW()";
}
else{
    $state_sql = " AND p.start_date = DATE_FORMAT(NOW() ,'$year_posts-01-01') and p.end_date = DATE_FORMAT(NOW() ,'$year_posts-12-31')";
}

如果我的get变量是= 2015.我该怎么做才能将所有信息从2015-01-01 00:00:00提取到当前日期?

2014年也是如此。如何从2014-01-01 00:00:002014-12-31 23:59:59获取所有信息?

我已尝试在不同的主题上查找,但我无法弄明白。 有什么帮助吗?

4 个答案:

答案 0 :(得分:1)

如果您需要从年初到年底获取所有记录,请查看年份

$state_sql = " AND YEAR(p.start_date) = $year_posts and YEAR(p.end_date) = $year_posts";

答案 1 :(得分:0)

  

如何从2014-01-01 00:00:00到2014-12-31获取所有信息   23:59:59?

使用此查询:

SELECT * FROM something WHERE date BETWEEN [startdate] AND [enddate]

答案 2 :(得分:0)

我喜欢使用" LIKE"对于那种情况:

SELECT * FROM table WHERE dateCol LIKE "2014%"

OR

SELECT * FROM table WHERE DATE(dateCol) LIKE "2014%"

OR

SELECT * FROM table WHERE DATE(dateCol) LIKE "2014-__-__"

他们都在工作。

编辑:我看过您的评论>从2014年到今天:

SELECT * FROM table WHERE DATE(dateCol) > "2014-00-00"

答案 3 :(得分:0)

尝试此操作,假设p.start_date和p.end_date采用时间戳或日期时间格式。

var html = '<html> <br> or just any other HTML';
var $elementToInsertEscapedHTMLto = jQuery("XXX"); //XXX is selector, e.g. CSS selector
$elementToInsertEscapedHTMLto.text( html );