PostgreSQL中筛选大于当前日期时间的字符型日期时间列数据
筛选字符类型日期时间大于当前时间的记录
你的表中date和time列都是character varying类型,要筛选出日期时间晚于当前时间的记录,需要先将这两列拼接成完整的日期时间字符串,再转换为时间戳类型后和当前时间对比。
具体SQL语句(以PostgreSQL为例)
SELECT "Date", "time" FROM your_table_name WHERE to_timestamp("Date" || ' ' || "time", 'DD-MM-YYYY HH24:MI') > current_timestamp;
语句说明
"Date" || ' ' || "time":将日期和时间列拼接成DD-MM-YYYY HH:MM格式的完整字符串to_timestamp(..., 'DD-MM-YYYY HH24:MI'):把拼接后的字符串转换为时间戳类型,确保解析格式和你的数据匹配current_timestamp:数据库当前的日期时间,作为筛选的对比基准
验证示例
当当前时间为12:00 AM(即00:00)时,执行上述语句会得到预期结果:
| Date | time |
|---|---|
| 17-07-2022 | 17:00 |
| 17-07-2022 | 18:00 |
| 18-07-2022 | 17:00 |
内容的提问来源于stack exchange,提问作者Naresh Kukreti
相关产品推荐
相关产品推荐

