我的应用程序似乎并不了解PostgreSQL datestytle设置

时间:2017-04-24 20:21:59

标签: sql postgresql unixodbc

我有一个PostgreSQL数据库,datestyle设置为" german,dmy"它在psql上运行正常。但是,当我的应用程序尝试从此数据库中检索日期时(使用unixODBC驱动程序),这些日期"到达" in" iso"风格...

可能是司机引起的吗?我是否应该在unixODBC上做一些事情,以便以与数据库相同的格式检索日期?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试为用户设置默认日期样式:

so=# alter user tt set datestyle to 'german,dmy';
ALTER ROLE
so=# select now();
              now
-------------------------------
 2017-04-24 21:33:53.653813+01
(1 row)

so=# show datestyle;
 DateStyle
-----------
 ISO, MDY
(1 row)

so=# \q

现在连接用户tt:

MacBook-Air:~ vao$ psql so -U tt
psql (9.6.1)
Type "help" for help.

so=> select now();
              now
--------------------------------
 24.04.2017 21:34:03.874708 IST
(1 row)

so=> show datestyle;
  DateStyle
-------------
 German, DMY
(1 row)

如果没有帮助,ODBC 主动设置日期样式本身。如果是,您在.psqlrc中对于样式德语...

另请检查ODBC数据源的高级选项卡

  

InitializationString =将datestyle设置为" german,dmy"