在 SQL 中處理 Unix 時(shí)間戳數(shù)據(jù)非常簡(jiǎn)單。大多數(shù) SQL 數(shù)據(jù)庫(kù)系統(tǒng)(如 MySQL、PostgreSQL、SQLite 和 SQL Server)都可以直接使用 Unix 時(shí)間戳值進(jìn)行操作。以下是一些常見數(shù)據(jù)庫(kù)中的示例。
MySQL:
假設(shè)您有一個(gè)名為 events
的表,其中包含一個(gè)名為 event_time
的 Unix 時(shí)間戳列。要插入一個(gè)新的事件,可以使用以下查詢:
INSERT INTO events (event_time) VALUES (1625731200);
要查詢以特定 Unix 時(shí)間戳為單位的時(shí)間范圍內(nèi)的所有事件,可以使用以下查詢:
SELECT * FROM events WHERE event_time >= 1625731200 AND event_time < 1625817600;
PostgreSQL:
在 PostgreSQL 中,Unix 時(shí)間戳以秒為單位存儲(chǔ)。插入一個(gè)新的事件:
INSERT INTO events (event_time) VALUES (1625731200);
查詢特定 Unix 時(shí)間戳范圍內(nèi)的事件:
SELECT * FROM events WHERE event_time >= 1625731200 AND event_time < 1625817600;
如果您的 Unix 時(shí)間戳以毫秒為單位,需要將其轉(zhuǎn)換為秒:
SELECT * FROM events WHERE event_time >= 1625731200000 AND event_time < 1625817600000;
SQLite:
在 SQLite 中,Unix 時(shí)間戳同樣以秒為單位存儲(chǔ)。插入一個(gè)新的事件:
INSERT INTO events (event_time) VALUES (1625731200);
查詢特定 Unix 時(shí)間戳范圍內(nèi)的事件:
SELECT * FROM events WHERE event_time >= 1625731200 AND event_time < 1625817600;
SQL Server:
在 SQL Server 中,Unix 時(shí)間戳以毫秒為單位存儲(chǔ)。插入一個(gè)新的事件:
INSERT INTO events (event_time) VALUES (1625731200000);
查詢特定 Unix 時(shí)間戳范圍內(nèi)的事件:
SELECT * FROM events WHERE event_time >= 1625731200000 AND event_time < 1625817600000;
這些示例適用于大多數(shù) SQL 數(shù)據(jù)庫(kù)系統(tǒng)。只需根據(jù)您正在使用的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行相應(yīng)的調(diào)整即可。