如何使用xdevapi从mysql获取DateTime
How to fetch DateTime from mysql using xdevapi
当我选择一个日期时间字段时,它以 6 个字节返回。 如何将其转换为time_point或结构 tm?
mysqlx::Session session( "mysqlx://root:password@127.0.0.1:33060/catalog" );
auto row = session.sql( "select create_time from information_schema.tables order by 1 LIMIT 1" ).execute().fetchOne();
assert( row[0].getType()==8 );//raw type
assert( row[0].getRawBytes().second==6 );//6 bytes
var bytes = row[0].getRawBytes().first;
//e2 0f 08 0c 0a 32
//2018-08-12 10:50:04
嘿,我只是花了 5 个小时来弄清楚同样的事情,解决方案是使用UNIX_TIMESTAMP()
将TIME
/DATE
/DATETIME
字段投影为 SQL 语句中的 UNIX 时间戳(整数(。
然后,您可以轻松地将字段作为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);
希望这有帮助。-介意
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 如何使用xdevapi从mysql获取DateTime
- 如何使用mySQL连接器/C 获取DateTime并将其存储到TIME_T
- QT获取DateTime的JPEG EXIF元数据
- 在C++中获取mySQL DATETIME值
- 在C 中获取DateTime邮票的最简单方法
- 如何在ODBC本机客户端中获取SQL Server DateTime字段