RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Объявленный тип данных результата запроса

const char *sqlite3_column_decltype(sqlite3_stmt*,int);
const void *sqlite3_column_decltype16(sqlite3_stmt*,int);

Первый параметр это подготовленный запрос. Если это 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 со строгим контролем типов, но типы динамические. Тип связан с отдельными значениями, не с контейнерами, используемыми, чтобы хранить те значения.