📅  最后修改于: 2023-12-03 14:45:40.971000             🧑  作者: Mango
在 PSQL 中,可以使用带时间戳的 LIKE 来进行模糊搜索。这对于需要搜索具有特定时间戳的数据非常有用。
SELECT * FROM table_name WHERE time_column LIKE 'YYYY-MM-DD%';
在这个语法中,table_name
是要搜索的表的名称,time_column
是包含时间戳的列的名称。YYYY-MM-DD
是需要搜索的日期,这应该根据你的需要进行修改。
LIKE
是 SQL 的字符串操作符,它可以与通配符一起使用。在这个语句中,我们使用 %
,它代表任何字符的任意数目。
假设我们有一个名为 sales
的表,其中包含销售数据和时间戳。
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
amount INTEGER,
timestamp TIMESTAMP WITHOUT TIME ZONE
);
INSERT INTO sales (amount, timestamp) VALUES
(100, '2022-03-15 12:00:00'),
(200, '2022-03-15 13:00:00'),
(300, '2022-03-16 12:00:00'),
(400, '2022-03-16 13:00:00');
如果我们想要查找所有在 2022 年 3 月 15 日发生的销售,可以使用以下语句:
SELECT * FROM sales WHERE timestamp LIKE '2022-03-15%';
这将返回以下结果:
| id | amount | timestamp | |----|--------|---------------------| | 1 | 100 | 2022-03-15 12:00:00 | | 2 | 200 | 2022-03-15 13:00:00 |
我们还可以使用其他通配符来执行更复杂的搜索。例如,如果我们想查找所有在每个月的第一天发生的销售,我们可以使用以下语句:
SELECT * FROM sales WHERE timestamp LIKE '%-01%';
这将返回以下结果:
| id | amount | timestamp | |----|--------|---------------------| | 1 | 100 | 2022-03-15 12:00:00 | | 3 | 300 | 2022-03-16 12:00:00 |
在 PSQL 中使用带时间戳的 LIKE 可以快速轻松地搜索具有特定时间戳的数据。通过使用通配符,我们可以实现更复杂的搜索。