1

が SQLite を使用して BLOB でどのように機能するかを確認していたところ、以下に示すように の長さが 0であるため、 の長さが 1 でlength(x)あることに驚きました。どちらも長さが0であってはいけませんか?そうでない場合、なぜですか?randomblob(0)zeroblob(0)randomblob(0)zeroblob(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 バイトのブロブを返します。N が 1 未満の場合、1 バイトのランダム BLOB が返されます。

答えを打ち込む前に、あなたの質問全体を読むべきでした。とにかく、ここにまだあります。

于 2012-08-05T17:32:01.953 に答える