Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SQLITE3_COLUMN_DECLTYPE(3)                            Library Functions Manual

NAME
     sqlite3_column_decltype, sqlite3_column_decltype16 - declared datatype of
     a query result

SYNOPSIS
     #include <sqlite3.h>

     const char *
     sqlite3_column_decltype(sqlite3_stmt*, int);

     const void *
     sqlite3_column_decltype16(sqlite3_stmt*, int);

DESCRIPTION
     The first parameter is a prepared statement.  If this statement is a
     SELECT statement and the Nth column of the returned result set of that
     SELECT is a table column (not an expression or subquery) then the
     declared type of the table column is returned.  If the Nth column of the
     result set is an expression or subquery, then a NULL pointer is returned.
     The returned string is always UTF-8 encoded.

     For example, given the database schema:

     CREATE TABLE t1(c1 VARIANT);

     and the following statement to be compiled:

     SELECT c1 + 1, c1 FROM t1;

     this routine would return the string "VARIANT" for the second result
     column (i==1), and a NULL pointer for the first result column (i==0).

     SQLite uses dynamic run-time typing.  So just because a column is
     declared to contain a particular type does not mean that the data stored
     in that column is of the declared type.  SQLite is strongly typed, but
     the typing is dynamic not static.  Type is associated with individual
     values, not with the containers used to hold those values.

IMPLEMENTATION NOTES
     These declarations were extracted from the interface documentation at
     line 4868.

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

SEE ALSO
     sqlite3_stmt(3)

NetBSD 10.99                    August 24, 2023                   NetBSD 10.99