Mysql

如何使用引用不同格式的查詢在 MySQL 中搜尋包含 unix 時間戳的列?

  • February 2, 2014

我有一個 mysql 表,其中包含以下內容:

+-------------+-----------------+
| FOO1        | FOOTIME         |
+-------------+-----------------+
|        blah |   1234567890000 |
+-------------+-----------------+

FOOTIME 使用 unix 時間戳。

我想執行一個查詢,基本上說“有多少行包含 foo 時間早於 2012 年 1 月 1 日?

我以為我想做類似的事情,select count(*) from foodb.FOOTABLE where FOOTIME <= TIMESTAMP('2012-01-01');但那沒有用。

我錯過了什麼?

嘗試這個:

SQL 程式碼:

SELECT COUNT(FOO1)
FROM footable
WHERE FOOTIME >= UNIX_TIMESTAMP('2012-01-01');


SELECT COUNT(FOO1)
FROM footable
WHERE FROM_UNIXTIME(FOOTIME)>='2012-01-01'; 

樣本數據:

CREATE TABLE footable (
 FOO1 varchar(30) primary key,
 FOOTIME int(11)
 );

INSERT INTO footable (FOO1, FOOTIME)
VALUES ('blah', UNIX_TIMESTAMP(now() - INTERVAL 1 YEAR)),
('Blahblah', UNIX_TIMESTAMP(now() - INTERVAL 2 YEAR)),
('BLablahblah', UNIX_TIMESTAMP(NOW() - INTERVAL 5 YEAR));

SQLFiddle 展示

引用自:https://dba.stackexchange.com/questions/58009