![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Первый параметр это подготовленный запрос.
Если это SELECT N-й столбец
возвращенного набора результатов этого SELECT
это столбец таблицы (не выражение или подзапрос) тогда, заявленный тип
столбца таблицы возвращен. Если N-й столбец набора результатов это выражение
или подзапрос, то вернется NULL. Возвращаемая строка всегда в UTF-8. Например, учитывая схему базы данных: CREATE TABLE t1(c1 VARIANT); следующий запрос будет собран: SELECT c1 + 1, c1 FROM t1; Это возвратило бы последовательность "VARIANT"
для второго столбца результата (i==1) и NULL
для первого столбца результата (i==0). SQLite использует динамический тип во время выполнения.
Таким образом, просто, потому что колонка, как объявляют, содержит конкретный
тип, не означает, что данные в той колонке, имеют заявленный тип.
SQLite со строгим контролем типов, но типы динамические.
Тип связан с отдельными значениями, не с контейнерами, используемыми, чтобы
хранить те значения.
Choose any three.
SQLite C Interface
Объявленный тип данных результата запроса
const char *sqlite3_column_decltype(sqlite3_stmt*,int);
const void *sqlite3_column_decltype16(sqlite3_stmt*,int);