目前是 2024 年 4 月 23 日凌晨 1:15。我的时区是 GMT +7。我有一个 C# 应用程序和一个 DbEaver 应用程序,它们都连接到同一台 PostgreSQL 服务器。我执行一个非常简单的查询,如下所示:
select current_date
。
DbEaver 结果:'2024-04-23'
C# 结果(Dapper 和 ADO.NET):'2024-04-22'。
我已经发现了这个问题,因为我的条件
datetime > current_date
的查询结果不正确。
请向我解释原因以及如何解决该问题。我非常感谢你的帮助
两个会话中
timezone
参数的值必须不同,以便数据类型timestamp with time zone
的值呈现不同。
使用SQL语句
SET
将参数调整为适合您会话的时区:
SET timezone = 'Europe/Vienna';