BLOB ファイルを含む sqlite テーブルがありますが、BLOB のサイズ/長さをチェックする必要があります。どうすればよいですか?
私が見つけたいくつかのドキュメントによると、 length() はテキストでのみ機能し、最初の NULL の後にカウントを停止するため、 length(blob) の使用は機能しません。私の経験的テストは、これが真実であることを示しています。
私はSQLite 3.4.2を使用しています
アップデート:
そのため、SQLite 3.7.6 では、length() 関数が blob の正しい値を返すように見えます。sqlite のさまざまな変更ログを確認しましたが、これがどのバージョンで修正されたかはわかりませんでした。
Sqlite 3.7.6 から:
ペイロード_id|長さ(ペイロード)|長さ(16進(ペイロード))/2 1807913|194|194 1807914|171|171
これを反映するためにドキュメントが変更されました。
length(X) length(X) 関数は、X が次の場合に X の長さを文字数で返します。 文字列、または X が blob の場合はバイト単位。X が NULL の場合、length(X) は ヌル。X が数値の場合、length(X) は文字列の長さを返します Xの表現。