Mysql-如果只有时间戳,如何按年份选择行?

问题描述

| 我有这张桌子
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\'
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...