问题描述
|
我有这张桌子
Id Timestamp
1 | 1302566399
2 | 1502745635
3 | 1374679999
4 | 1264575886
5 | 1154645755
如何仅选择年份为2011的行?
解决方法
SELECT * FROM table WHERE FROM_UNIXTIME(timestamp,\'%Y\') = 2011;
,已经在其余答案中建议了最简单的方法(直接来自查询)
你也可以这样
$year_start = strtotime(\'2011-01-01\');
$year_end = strtotime(\'2011-12-31 23:59:59.000\');
$sql = \"SELECT * FROM your_table
WHERE Timestamp>=$year_start AND Timestamp<=$year_end\";
$res = mysql_query($sql);
函数strtotime()取决于时区设置。
,SELECT * FROM t WHERE YEAR(`timestamp`) = 2011
,select * from table where from_unixtime(field,\'%Y\') = 2011
,尝试这样的查询,其中myTimestamp是其中带有时间戳的列
SELECT * FROM myTable WHERE FROM_UNIXTIME(myTimestamp,\'%Y\') = \'2011\'