(五)PostgreSQL数据库操作示例
带有时间戳的查询
-
现在有表
beijing_check-ins
,字段created_at
为时间。 -
现在需要查询 2024年十月份的数据,并且
mid
不能出现重复值。WITH filtered_data AS (SELECT *FROM "beijing_check-ins"WHERE created_at ~ '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$' ), converted_data AS (SELECT *,TO_TIMESTAMP(created_at, 'YYYY-MM-DD HH24:MI:SS') AS created_at1FROM filtered_data ) SELECT DISTINCT ON (mid) * FROM converted_data WHERE created_at1 >= '2024-10-01' AND created_at1 < '2024-11-01' ORDER BY mid, created_at1;
-
先用正则表达式筛选出满足 `` 格式的数据。
-
再将
created_at
字段转换为TIMESTAMP
。 -
最后筛选需要的时间范围内的数据。