Qt支持的数据库系统数据类型#
推荐数据库系统数据类型
推荐Qt支持数据库系统的数据类型#
此表显示了从Qt支持的数据库中提取数据的推荐数据类型。请注意,Qt中使用的数据类型不一定作为特定数据库系统的有效输入类型。例如,双精度可能完全适用于特定数据库中的浮点记录,但不一定适用于该数据库的存储格式,因为它们将以64位精度在C++中存储。
IBM DB2 数据类型#
IBM DB2 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
SMALLINT
16位有符号整数
typedef qint16
INTEGER
32位有符号整数
typedef qint32
BIGINT
64位有符号整数
typedef qint64
REAL
32位单精度浮点数
typedef qreal
DOUBLE PRECISION
64位双精度浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
FLOAT
64位双精度浮点数
typedef qreal
CHAR
固定长度,以 null 结尾的字符字符串
映射到 QString
VARCHAR
以 null 结尾的可变长度字符串
映射到 QString
LONG VARCHAR
非 null 结尾的可变长度字符字符串
映射到 QString
BLOB
非 null 结尾的可变长度二进制字符串,带有 4 字节字符串长度指示符
映射到 QByteArray
CLOB
字符大型字符串对象
映射到 QString
DATE
格式为以下格式的以 null 结尾的字符字符串:yyyy-mm-dd
映射到 QDate
TIME
格式为以下格式的以 null 结尾的字符字符串:hh.mm.ss
映射到 QTime
TIMESTAMP
格式为以下格式的以 null 结尾的字符字符串:yyyy-mm-dd-hh.mm.ss.nnnnnn
映射到 QDateTime
Borland InterBase 数据类型#
Borland InterBase 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
BOOLEAN
布尔值
bool
TINYINT
8 位有符号整数
typedef qint8
SMALLINT
16位有符号整数
typedef qint16
INTEGER
32位有符号整数
typedef qint32
BIGINT LONG
64位有符号整数
typedef qint64
REAL FLOAT
32位浮点数
typedef qreal
FLOAT
64位浮点数
typedef qreal
DOUBLE
64位浮点数
typedef qreal
DOUBLE PRECISION
64位双精度浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
VARCHAR STRING
字符字符串,Unicode
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
DATE
显示日期。格式:‘yyyy-mm-dd’
映射到 QDate
TIME
显示时间。格式是24小时制的‘hh:mm:ss’
映射到 QTime
TIMESTAMP
显示时间戳。格式是‘yyyy-mm-dd hh:mm:ss’
映射到 QDateTime
MySQL 数据类型#
MySQL 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
TINYINT
8 位有符号整数
typedef qint8
TINYINT UNSIGNED
8 位无符号整数
typedef quint8
SMALLINT
16位有符号整数
typedef qint16
SMALLINT UNSIGNED
16位无符号整数
typedef quint16
INT
32位有符号整数
typedef qint32
INT UNSIGNED
32位无符号整数
typedef quint32
BIGINT
64位有符号整数
typedef qint64
FLOAT
32位浮点数
typedef qreal
DOUBLE
64位浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
CHAR
字符字符串
映射到 QString
VARCHAR
字符字符串
映射到 QString
TINYTEXT
字符字符串
映射到 QString
TEXT
字符字符串
映射到 QString
MEDIUMTEXT
字符字符串
映射到 QString
LONGTEXT
字符字符串
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
所有 BLOB 类型
BLOB
映射到 QByteArray
DATE
无时间的时间
映射到 QDate
DATETIME
日期和时间
映射到 QDateTime
TIMESTAMP
日期和时间
映射到 QDateTime
TIME
时间
映射到 QTime
年
年(int)
映射到 QDateTime
ENUM
值集枚举
映射到 QString
Oracle 调用接口数据类型#
Oracle 调用接口数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
NUMBER
FLOAT、DOUBLE、PRECISIONc REAL
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
NUMBER(38)
INTEGER INT SMALLINT
typedef qint8/16/32/64
NUMBER(p,s)
NUMERIC(p,s) DECIMAL(p,s)a
映射到 QString
NVARCHAR2(n)
字符字符串(NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n))
映射到 QString
NCHAR(n)
字符字符串(NATIONAL CHARACTER(n) NATIONAL CHAR(n) NCHAR(n))
映射到 QString
CHAR(n)
字符字符串(CHARACTER(n) CHAR(n))
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
BLOB
二进制大对象
映射到 QByteArray
TIMESTAMP
日期的年、月和日值,以及时间的小时、分钟和秒值
映射到 QDateTime
ODBC 数据类型#
ODBC 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
BIT
布尔值
BOOL
TINYINT
8 位整数
typedef qint8
SMALLINT
16位有符号整数
typedef qint16
INTEGER
32位有符号整数
typedef qint32
BIGINT
64位有符号整数
typedef qint64
REAL
32位单精度浮点数
typedef qreal
FLOAT
64 位双精度浮点数
typedef qreal
DOUBLE
64 位双精度浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
CHAR
字符字符串
映射到 QString
VARCHAR
字符字符串
映射到 QString
LONGVARCHAR
字符字符串
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
DATE
字符字符串
映射到 QDate
TIME
字符时间,字符字符串
映射到 QTime
TIMESTAMP
字符时间,字符字符串
映射到 QDateTime
PostgreSQL 数据类型#
PostgreSQL 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
BOOLEAN
布尔值
bool
SMALLINT
16位有符号整数
typedef qint16
INTEGER
32位有符号整数
typedef qint32
BIGINT
64位有符号整数
typedef qint64
REAL
32 位变量精度浮点数
typedef qreal
DOUBLE PRECISION
64 位变量精度浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
DECIMAL VARIABLE
用户指定的精度,精确度
typedef qreal
NUMERIC VARIABLE
用户指定的精度,精确度
typedef qreal
VARCHAR
可变长度字符字符串
映射到 QString
CHARACTER
固定长度字符字符串
映射到 QString
TEXT
可变长度字符字符串
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
TIMESTAMP
8 字节,日期和时间
映射到 QDateTime
TIMESTAMP
8 字节,日期和时间,带时区
映射到 QDateTime
DATE
4 字节,仅日期
映射到 QDate
TIME
8 字节,仅日期时间 00:00:00.00 - 23:59:59.99
映射到 QTime
TIME
12 字节,仅日期时间,带时区 00:00:00.00+12
映射到 QDateTime
QSQLITE SQLite 版本 3 数据类型#
QSQLITE SQLite 版本 3 数据类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
NULL
NULL 值。
NULL
INTEGER
有符号整数,根据值的范围以 8、16、24、32、48 或 64 位存储。
typedef qint8/16/32/64
REAL
64 位浮点数值。
typedef qreal
TEXT
字符字符串(UTF-8、UTF-16BE 或 UTF-16-LE)。
映射到 QString
CLOB
字符大型字符串对象
映射到 QString
BLOB
值是数据 BLOB,按输入方式精确存储。
映射到 QByteArray
Mimer SQL 数据类型#
Mimer SQL 类型
SQL 类型说明
推荐输入(C++或Qt数据类型)
SMALLINT
16位有符号整数
typedef qint16
INTEGER
32位有符号整数
typedef qint32
INTEGER(n)
最多 45 位精度的整数
映射到 QString
BIGINT
64位有符号整数
typedef qint64
REAL
32 位单精度 IEEE 浮点数
typedef float
DOUBLE PRECISION
64 位双精度 IEEE 浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
FLOAT
64 位双精度 IEEE 浮点数
映射到 QString 以进行高精度双精度浮点数,否则使用qreal
FLOAT(n)
最多 45 位精度的浮点数
映射到 QString
DECIMAL(p,s)
最多 45 位精度和刻度的十进制数
映射到 QString
CHAR
固定长度 Latin-1 字符串(CHAR 或字符)
映射到 QString
VARCHAR
可变长度 Latin-1 字符串(VARCHAR 或 CHARACTER VARYING)
映射到 QString
NCHAR
固定长度 Unicode 字符串(NCHAR 或 NATIONAL CHARACTER)
映射到 QString
NVARCHAR
可变长度 Unicode 字符串(NVARCHAR 或 NATIONAL CHARACTER VARYING)
映射到 QString
BINARY
固定长度二进制数据
映射到 QByteArray
VARBINARY
可变长度二进制数据(VARBINARY 或 BINARY VARYING)
映射到 QByteArray
BLOB
二进制大对象(BLOB 或 BINARY LARGE OBJECT)
映射到 QByteArray
CLOB
Latin-1 字符大对象(CLOB 或 CHARACTER LARGE OBJECT)
映射到 QString
NCLOB
Unicode 字符大对象(NCLOB 或 NATIONAL CHARACTER LARGE OBJECT)
映射到 QString
DATE
由年、月和日组成的日期
映射到 QDate
TIME
由小时、分钟、秒组成的时间,可选的小数秒
映射到 QTime
TIMESTAMP
包含可选小数秒的日期和时间
映射到 QDateTime
BUILTIN.UUID
通用唯一标识符
映射到 QUuid
BOOLEAN
布尔值
bool
INTERVAL YEAR(7)
年,格式“±yyyyyyy”(最大精度)
映射到 QString
INTERVAL YEAR(7) TO MONTH
年到月,格式“±yyyyyyy-mm”(最大精度)
映射到 QString
INTERVAL MONTH(7)
月,格式“±mmmmmmm”(最大精度)
映射到 QString
INTERVAL DAYS(7)
天,格式“±ddddddd”(最大精度)
映射到 QString
INTERVAL DAY(7) TO HOUR
天到小时,格式“±ddddddd hh”(最大精度)
映射到 QString
INTERVAL DAY(7) TO MINUTE
天到分钟,格式“±ddddddd hh:mm”(最大精度)
映射到 QString
INTERVAL DAY(7) TO SECOND(9)
天到秒,格式为‘±ddddddd hh:mm:ss[.fffffffff]’(最大精度)
映射到 QString
INTERVAL HOUR(8)
小时,格式为‘±hhhhhhhh’(最大精度)
映射到 QString
INTERVAL HOUR(8) TO MINUTE
小时到分钟,格式为‘±hhhhhhhh:mm’(最大精度)
映射到 QString
INTERVAL HOUR(8) TO SECOND(9)
小时到秒,格式为‘±hhhhhhhh:mm:ss[.fffffffff]’(最大精度)
映射到 QString
INTERVAL MINUTE(10)
分钟,格式为‘±mmmmmmmmmm’(最大精度)
映射到 QString
INTERVAL MINUTE(10) TO SECOND(9)
分钟到秒,格式为‘±mmmmmmmmmm:ss[.fffffffff]’(最大精度)
映射到 QString
INTERVAL SECOND(12,9)
秒,格式为‘±ssssssssssss[.fffffffff]’(最大精度)
映射到 QString