使用 Delphi 将日期和时间保存到 PostgreSQL

Saving date and time to PostgreSQL using Delphi

我的 PostgreSQL 数据库中有一列,格式为 timestamp without time zone。我想使用以下代码保存当前日期:

  MyStoredProc.ParamByName('date').Value := FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz', Now);

我的存储过程中的 date 值声明为 DateTime,但将其设置为 PgTimeStamp 也无济于事。第一列是在 PostgreSQL 中创建的,时间戳工作正常,但第二列,我试图从我的代码中保存数据,总是显示零。

我做错了什么?

您应该能够以他的方式直接将日期时间对象作为参数传递:

 MyStoredProc.ParamByName('date').Value := Now;

或:

 MyStoredProc.ParamByName('date').AsDateTime := Now;

当然PostgreSQL函数的参数必须是timezone类型