У меня есть таблица sqlite, которая содержит BLOB файл, но вам нужно сделать проверку размера/длины на блобе, как это сделать?
В соответствии с некоторой документацией, которую я нашел, использование length (blob) не будет работать, потому что length() работает только с текстами и прекратит отсчет после первого NULL. Мои эмпирические тесты показали, что это правда.
Я использую SQLite 3.4.2
Обновление:
Так как SQLite 3.7.6 кажется, что функция length() возвращает правильное значение blobs - я проверил различные журналы изменений sqlite, но не видел, в какой версии это было исправлено.
Из Sqlite 3.7.6:
payload_id|length(payload)|length(hex(payload))/2 1807913|194|194 1807914|171|171
документация была изменена, чтобы отразить это.
length(X) The length(X) function returns the length of X in characters if X is a string, or in bytes if X is a blob. If X is NULL then length(X) is NULL. If X is numeric then length(X) returns the length of a string representation of X.