Mysql中时间相关的sql语句

*TIMESTAMP列类型*
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为
数字显示。

SELECT UNIX_TIMESTAMP() ;
当前时间的TIMESTAMP;
mysql> select unix_timestamp();

+——————+
| unix_timestamp() |
+——————+
| 1420025182 |
+——————+
1 row in set (0.00 sec)

mysql> select unix_timestamp();
+——————+
| unix_timestamp() |
+——————+
| 1420025184 |
+——————+
1 row in set (0.00 sec)

mysql> select unix_timestamp();
+——————+
| unix_timestamp() |
+——————+
| 1420025186 |
+——————+
1 row in set (0.00 sec)

可以从上面的执行情况清楚看到timestamp是以秒为单位不停递增的。
SELECT UNIX_TIMESTAMP(’2009-08-06′);

mysql> SELECT UNIX_TIMESTAMP(’2009-08-06′) ;
+——————————+
| UNIX_TIMESTAMP(’2009-08-06′) |
+——————————+
| 1249488000 |
+——————————+
1 row in set (0.00 sec)

日期为2009-08-06的TIMESTAMP;

select unix_timestamp(’2014-12-31 19:08:00′);

mysql> select unix_timestamp(’2014-12-31 19:08:00′);
+—————————————+
| unix_timestamp(’2014-12-31 19:08:00′) |
+—————————————+
| 1420024080 |
+—————————————+
1 row in set (0.00 sec)
FROM_UNIXTIME是MySQL里的时间函数,设置时间从TIMESTAMP转化为DATETIME字符串;
DATEDIFF() 函数返回两个日期之间的天数。
select unix_timestamp();

SELECT FROM_UNIXTIME( 1249488000, ‘%Y%m%d’ );

以上函数的混用结果:

select * from xxx_ecms_news where isgood=1 and DATEDIFF(NOW(),FROM_UNIXTIME(newstime))>1 order by id desc;

你可能感兴趣的:(工作)