int sqlite3_value_bytes( sqlite3_value* value ); int sqlite3_value_bytes16( sqlite3_value* value );
value
An SQL function parameter value.
The number of bytes in the SQL function parameter value.
These functions return the number of bytes in a text or BLOB
value. Calling these functions can cause a type conversion
(invalidating buffers returned by sqlite3_value_xxx()
), so care must be taken to
call them in conjunction with the appropriate sqlite3_value_xxx()
function.
To avoid problems, an application
should first extract the desired type using an sqlite3_
value_
xxx()
function, and then call the appropriate sqlite3_value_bytes()
function. The functions
sqlite3_value_text()
and sqlite3_value_blob()
should be followed by a call to sqlite3_value_bytes()
, while any call to an
sqlite3_value_text16xxx()
should be followed by
a call to sqlite3_value_bytes16()
.
If these functions are called for a non-text or non-BLOB value, the value will first be converted to an appropriately encoded text value, then the length of that text value will be returned.
In most other regards, these functions are nearly identical to
the sqlite3_column_bytes()
functions.