小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

查詢結果的宣告資料類型

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

第一個參數是一個已準備好的陳述式 (prepared statement)。如果這個陳述式是一個 SELECT 陳述式,且該 SELECT 所返回結果集的第 N 個欄位是一個資料表欄位(不是運算式或子查詢),則會返回該資料表欄位的宣告類型。如果結果集的第 N 個欄位是一個運算式或子查詢,則會返回 NULL 指標。返回的字串一律以 UTF-8 編碼。

例如,給定資料庫綱要

CREATE TABLE t1(c1 VARIANT);

以及要編譯的以下陳述式

SELECT c1 + 1, c1 FROM t1;

此例程會針對第二個結果欄位 (i==1) 返回字串 "VARIANT",而針對第一個結果欄位 (i==0) 返回 NULL 指標。

SQLite 使用動態執行時期類型。因此,即使宣告一個欄位包含特定類型,也不表示儲存在該欄位中的資料就是宣告的類型。SQLite 是強類型,但類型是動態的,而不是靜態的。類型與個別值關聯,而不是與用於儲存這些值的容器關聯。

另請參閱物件常數函式的列表。