codeigniter在字段名称(时间戳)上应用日期并与年份进行比较

时间:2014-05-28 07:40:36

标签: mysql codeigniter

正常的mysql查询是

select * from recordstable where YEAR(dateline) = 2014;

表格如下:

 recordid dateline status
 _________________________
    1     1388534400   1
    2     1188534400   2

我想获得今年的记录。这就是我所知道的

$this->db->get_where('recordstable',array('dateline'=>2014));

现在,如何在列名日期行上应用年份。

1 个答案:

答案 0 :(得分:0)

您的数据存储为unix时间戳,因此使用year()将返回NULL。 您需要使用from_unixtime()来获取实际日期,然后使用年份

mysql> select year('1388534400');
+------------------+
| year('1388534400') |
+------------------+
|             NULL |
+------------------+

mysql> select year(from_unixtime('1388534400'));
+-----------------------------------+
| year(from_unixtime('1388534400')) |
+-----------------------------------+
|                              2014 |
+-----------------------------------+

然后在CI中,您需要将where条件传递为

array('Year(from_unixtime(dateline))'=>2014