1

我正在length(x)使用 SQLite 验证 BLOB 的工作原理,我惊讶地发现 的长度randomblob(0)为 1,甚至更多的长度zeroblob(0)为 0,如下所示。不应该randomblob(0)zeroblob(0)两者都有 0 长度?如果不是,为什么?

SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select length(zeroblob(0));
0
sqlite> select length(zeroblob(1));
1
sqlite> select length(zeroblob(2));
2
sqlite> select length(randomblob(0));
1
sqlite> select length(randomblob(1));
1
sqlite> select length(randomblob(2));
2
4

1 回答 1

1

sqlite 文档说:

randomblob(N) 函数返回一个包含伪随机字节的 N 字节 blob。如果 N 小于 1,则返回一个 1 字节的随机 blob。

在抨击答案之前,我应该阅读您的整个问题。无论如何,它仍然存在。

于 2012-08-05T17:32:01.953 回答