📜  PSQL 使用带时间戳的 LIKE - SQL (1)

📅  最后修改于: 2023-12-03 14:45:40.971000             🧑  作者: Mango

PSQL 使用带时间戳的 LIKE - SQL

在 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 可以快速轻松地搜索具有特定时间戳的数据。通过使用通配符,我们可以实现更复杂的搜索。