我的PostgreSQL数据库中有一个列,格式为timestamp without time zone
。我想使用以下代码保存当前日期:
MyStoredProc.ParamByName('date').Value := FormatDateTime('yyyy-mm-dd hh:nn:ss.zzz', Now);
我的存储过程中的date
值被声明为DateTime
,但将其设置为PgTimeStamp
也无济于事。第一列是在PostgreSQL中创建的,时间戳工作正常,但第二列,我试图从我的代码中保存数据,总是显示零。
我做错了什么?
答案 0 :(得分:2)
您应该能够直接将datetime对象作为参数传递给他:
MyStoredProc.ParamByName('date').Value := Now;
或:
MyStoredProc.ParamByName('date').AsDateTime := Now;
当然,PostgreSQL函数的参数必须是时区类型。