gpt4 book ai didi

SQLITE_INTEGER 值字节

转载 作者:IT王子 更新时间:2023-10-29 06:29:31 24 4
gpt4 key购买 nike

我对 sqlite3 中的数据类型有疑问。

SQLITE_INTEGER 的值可以根据值的大小存储在 1、2、3、4、6 或 8 个字节中,如果我只知道 SQlite 数据库中的列存储SQLITE_INTEGER,我怎么知道这个列中的值是4字节还是6-8字节整数,或者应该使用哪个来获取值,sqlite3_column_int()或者 sqlite3_column_int64()

在这种情况下我可以使用 sqlite3_column_bytes() 吗?但根据文档,sqlite3_column_bytes() 主要用于 TEXT 或 BLOB。

谢谢!

最佳答案

当 SQLite 进入记录时,所有整数值都会扩展到 64 位。
sqlite3_column_int() 返回该值的低 32 位而不检查溢出。

当您调用 sqlite3_column_bytes() 时,SQLite 会将值转换为文本,并返回字符数。

在读取整数值之前,您无法知道它有多大。之后,您可以查看record format documentation中的列表。对于该值的最小可能格式,但如果您想确保整数值永远不会被截断为 32 位,您必须始终使用 sqlite3_column_int64(),或者确保从一开始就不会将大值写入数据库(如果可能的话)。

关于SQLITE_INTEGER 值字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13832103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com