Эй, я потратил 5 часов, пытаясь понять то же самое, решение состоит в том, чтобы спроецировать поле TIME
/ DATE
/ DATETIME
как метку времени UNIX (целое число) в вашем Оператор SQL, использующий UNIX_TIMESTAMP()
.
Тогда вы можете легко получить поле как time_t
(и при желании преобразовать в struct tm
).
#include<time.h>
mysqlx::Session session{"mysqlx://root:password@127.0.0.1:33060/catalog"};
auto row = session.sql("SELECT UNIX_TIMESTAMP(create_time) FROM information_schema.tables ORDER BY 1 LIMIT 1").execute().fetchOne();
time_t creationTime = (int) row[0];
struct tm* creationTimePoint = localtime(creationTime);
Надеюсь, это поможет. -Minding