如何使用 libpqxx 正确选择日期字段?

Přemysl Šťastný

我正在尝试使用 libpqxx 和 C++ 从 PostgreSQL 数据库中选择日期字段。

我会使用此代码,但我不知道它是否合法。我已经在文档中搜索过,但我没有任何记录的方式。

using time_point = std::chrono::steady_clock::time_point;

pqxx::work txn(c);
auto&& rst = txn.exec("SELECT date FROM table");

for(auto&& row : rst)
  time_point date = row[0].as<time_point>();

请问这样可以吗?你知道有什么更好的选择吗?

我希望与日期时间和时间字段相同。请问有什么区别吗?

谢谢你。

——

field类型文档https : //libpqxx.readthedocs.io/en/6.4/a01063.html#a3a55f6b44040b68e70382d9db7dea457

Přemysl Šťastný

JadeMatrixGithub 上的回答:

field.as<>()将适用于pqxx::string_traits<>存在专业化的任何类型libpqxx 支持std::string, 内置数字(int 等),也许还有一些我不记得了。std::chrono::不幸的是,默认情况下缺少类型的支持你可以实现你自己的,但被警告,他们将只为工作TIMESTAMP WITHOUT TIME ZONEDATETIME WITHOUT TIME ZONE,和INTERVAL要正确支持……WITH TIME ZONE您将需要 Howard Hinnant 的日期库,这就是我使用的(有人谈论将其添加到标准库中)。如果你愿意,我可以分享我的代码,它依赖于解析 Postgres 日期/时间字符串(ISO 8601 格式)的日期功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章