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