Qt 支持的数据库系统的数据类型
Qt 支持的数据库系统的推荐数据类型
本表显示了从 Qt 支持的数据库中提取数据的推荐数据类型。请注意,Qt 中使用的类型并不一定可以作为特定数据库系统的输入类型。例如,在特定数据库中,双可能完全可以作为浮点记录的输入,但不一定可以作为该数据库输出的存储格式,因为在 C++ 中它将以 64 位精度存储。
IBM DB2 数据类型
IBM DB2 数据类型 | SQL 类型描述 | 建议输入(C++ 或 Qt 数据类型) |
---|---|---|
小数点 | 16 位带符号整数 | 类型定义 qint16 |
整数 | 32 位带符号整数 | 类型定义 qint32 |
BIGINT | 64 位有符号整数 | 类型定义 qint64 |
真实 | 32 位单精度浮点数 | 类型定义 qreal |
双精度 | 64 位双倍精度浮点数 | 对于高精度双精度,映射到QString ,否则 qreal |
浮点 | 64 位双倍精度浮点数 | 类型定义 qreal |
字符串 | 固定长度、空端字符串 | 映射为QString |
VARCHAR | 长度不等的空端字符串 | 映射为QString |
长 VARCHAR | 非空端不同长度字符串 | 映射为QString |
BLOB | 非空端二进制字符串,带 4 字节字符串长度指示符 | 映射为QByteArray |
CLOB | 字符大字符串对象 | 映射到QString |
日期 | 以下格式的空端字符串:yyyy-mm-dd | 映射到QDate |
时间 | 以下格式的空字符串:hh.mm.ss | 映射到QTime |
时间戳 | 以下格式的空字符串:yyyy-mm-dd-hh.mm.ss.nnnnnn | 映射到QDateTime |
Borland InterBase 数据类型
Borland InterBase 数据类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
布尔 | 布尔型 | 布尔 |
TINYINT | 8 位带符号整数 | 类型定义 qint8 |
小整数 | 16 位有符号整数 | 类型定义 qint16 |
整数 | 32 位带符号整数 | 类型定义 qint32 |
BIGINT 长 | 64 位有符号整数 | 类型定义 qint64 |
REAL FLOAT | 32 位浮点 | 类型定义 qreal |
浮点 | 64 位浮点 | 类型定义 qreal |
DOUBLE | 64 位浮点 | 类型定义 qreal |
双精度 | 64 位双倍精度浮点型 | 高精度双倍映射到QString ,否则为 qreal |
字符串 | 字符串,Unicode | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
日期 | 显示日期。格式为年-月-日 | 映射到QDate |
时间 | 显示时间。格式为 24 小时制的 "hh:mm:ss | 映射到QTime |
时间戳 | 显示时间戳。格式为 "yyyy-mm-dd hh:mm:ss | 映射到QDateTime |
MySQL 数据类型
MySQL 数据类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
TINYINT | 8 位有符号整数 | 类型定义 qint8 |
tinyint unsigned | 8 位无符号整数 | typedef quint8 |
小数点 | 16 位有符号整数 | typedef qint16 |
smallint unsigned | 16 位无符号整数 | typedef quint16 |
INT | 32 位有符号整数 | typedef qint32 |
INT 无符号 | 32 位无符号整数 | typedef quint32 |
BIGINT | 64 位有符号整数 | typedef qint64 |
浮点数 | 32 位浮点数 | 类型定义 qreal |
DOUBLE | 64 位浮点型 | 高精度二进制数映射到QString ,否则为 qreal |
字符串 | 字符串 | 映射为QString |
VARCHAR | 字符串 | 映射为QString |
TINYTEXT | 字符串 | 映射为QString |
文本 | 字符串 | 映射到QString |
中文本 | 字符串 | 映射到QString |
长文本 | 字符串 | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
所有 BLOB 类型 | BLOB | 映射到QByteArray |
日期 | 不含时间的日期 | 映射到QDate |
日期和时间 | 日期和时间 | 映射到QDateTime |
时间 | 日期和时间 | 映射到QDateTime |
时间 | 时间 | 映射到QTime |
年份 | 年份(int) | 映射到QDateTime |
ENUM | 值集枚举 | 映射到QString |
Oracle 调用接口数据类型
Oracle 调用接口数据类型 | SQL 类型说明 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
数字 | FLOAT、DOUBLE、PRECISIONc REAL | 高精度二进制时映射到QString ,否则映射到 qreal |
NUMBER(38) | 整数 int smallint | 类型定义 qint8/16/32/64 |
NUMBER(p,s) | NUMERIC(p,s) DECIMAL(p,s)a | 映射为QString |
NVARCHAR2(n) | 字符串(NATIONAL CHARCTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n) | 映射为QString |
NCHAR(n) | 字符串(全国字符(n) 全国 CHAR(n) NCHAR(n) | 映射为QString |
字符串 | 字符串(CHARACTER(n) CHAR(n) | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
BLOB | 二进制大对象 | 映射到QByteArray |
时间戳 | 日期的年、月、日值以及时间的时、分、秒值 | 映射到QDateTime |
ODBC 数据类型
ODBC 数据类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
位 | 布尔型 | 布尔 |
TINYINT | 8 位整数 | 类型定义 qint8 |
小数点 | 16 位带符号整数 | 类型定义 qint16 |
整数 | 32 位带符号整数 | 类型定义 qint32 |
BIGINT | 64 位有符号整数 | 类型定义 qint64 |
真实 | 32 位单精度浮点数 | 类型定义 qreal |
浮点 | 64 位双倍浮点 | 类型定义 qreal |
DOUBLE | 64 位双倍浮点 | 高精度二进制数映射到QString ,否则为 qreal |
字符串 | 字符串 | 映射为QString |
VARCHAR | 字符串 | 映射为QString |
字符串 | 字符串 | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
日期 | 字符串 | 映射到QDate |
时间 | 时间字符、字符串 | 映射到QTime |
时间 | 时间字符、字符串 | 映射到QDateTime |
PostgreSQL 数据类型
PostgreSQL 数据类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
布尔值 | 布尔型 | 布尔 |
小数点 | 16 位带符号整数 | 类型定义 qint16 |
INTEGER | 32 位有符号整数 | 类型定义 qint32 |
BIGINT | 64 位有符号整数 | 类型定义 qint64 |
真实 | 32 位可变精度浮点数 | 类型定义 qreal |
双精度 | 64 位可变精度浮点数 | 对于高精度双精度,映射到QString ,否则为 qreal |
十进制变量 | 用户指定精度,精确 | 类型定义 qreal |
数值变量 | 用户指定精度,精确 | typedef qreal |
VARCHAR | 长度可变的字符串 | 映射为QString |
字符串 | 固定长度字符串 | 映射为QString |
文本 | 长度可变的字符串 | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
TIMESTAMP | 8 个字节,包含日期和时间 | 映射到QDateTime |
TIMESTAMP | 8 个字节,包括日期和时间,含时区 | 映射到QDateTime |
日期 | 4 个字节,仅日期 | 映射到QDate |
时间 | 8 个字节,仅限一天中的时间 00:00:00.00 - 23:59:59.99 | 映射到QTime |
时间 | 12 个字节,仅限一天中的时间,含时区 00:00:00.00+12 | 映射到QDateTime |
QSQLITE SQLite 版本 3 数据类型
QSQLITE SQLite 版本 3 数据类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
空值 | NULL 值。 | NULL |
整数 | 带符号整数,根据值的大小以 8、16、24、32、48 或 64 位存储。 | typedef qint8/16/32/64 |
REAL | 64 位浮点数值。 | typedef qreal |
文本 | 字符串(UTF-8、UTF-16BE 或 UTF-16-LE)。 | 映射到QString |
CLOB | 字符大字符串对象 | 映射到QString |
BLOB | 值是一个 BLOB 数据,存储方式与输入时完全相同。 | 映射到QByteArray |
Mimer SQL 数据类型
Mimer SQL 类型 | SQL 类型描述 | 推荐输入(C++ 或 Qt 数据类型) |
---|---|---|
小数点 | 16 位带符号整数 | 类型定义 qint16 |
整数 | 32 位带符号整数 | 类型定义 qint32 |
INTEGER(n) | 精度高达 45 位的整数 | 映射为QString |
BIGINT | 64 位有符号整数 | typedef qint64 |
REAL | 32 位单精度 IEEE 浮点数 | 类型定义 float |
双精度 | 64 位双倍精度 IEEE 浮点数 | 高精度双精度时映射到QString ,否则映射到 qreal |
浮点 | 64 位双精度 IEEE 浮点数 | 高精度二进制数映射到QString ,否则为 qreal |
FLOAT(n) | 精度高达 45 位的浮点数 | 映射到QString |
DECIMAL(p,s) | 精度高达 45 位并带有刻度的小数 | 映射为QString |
字符 | 固定长度的 Latin-1 字符串(CHAR 或字符) | 映射为QString |
VARCHAR | 长度可变的 Latin-1 字符串(VARCHAR 或 CHARACTER VARYING) | 映射为QString |
NCHAR | 固定长度的 Unicode 字符串(NCHAR 或 NATIONAL CHARACTER) | 映射为QString |
NVARCHAR | 长度可变的 Unicode 字符串(NVARCHAR 或 NATIONAL CHARACTER VARYING) | 映射为QString |
二进制 | 固定长度的二进制数据 | 映射到QByteArray |
可变长度二进制数据(VARBINARY | 长度可变的二进制数据(VARBINARY 或 BINARY VARYING) | 映射为QByteArray |
BLOB | 二进制大对象(BLOB 或 BINARY LARGE OBJECT) | 映射到QByteArray |
CLOB | 拉丁-1 字符大型对象(CLOB 或 CHARACTER 大型对象) | 映射到QString |
NCLOB | Unicode 字符大对象(NCLOB 或 NATIONAL CHARACTER LARGE OBJECT) | 映射到QString |
日期 | 由年、月、日组成的日期 | 映射到QDate |
时间 | 由小时、分钟和秒组成的时间,可选小数秒 | 映射到QTime |
时间戳 | 日期和时间,可选小数秒 | 映射到QDateTime |
BUILTIN.UUID | 通用唯一标识符 | 映射到QUuid |
布尔值 | 布尔 | 布尔 |
年份区间(7) | 年份,格式为"±yyyyy"(最大精度) | 映射到QString |
区间年(7) 至月 | 年到月,格式为"±yyyyy-mm"(最高精度) | 映射到QString |
区间月(7) | 月,格式为"±mmmmmmm"(最大精度) | 映射到QString |
日期间隔(7) | 日,格式为"±dddddd"(最大精度) | 映射到QString |
间隔日(7)至小时 | 日到小时,格式为"±dddddd hh"(最大精度) | 映射到QString |
间隔 日(7)至分 | 日到分钟,格式为"±dddddd hh:mm"(最大精度) | 映射到QString |
间隔日(7)至秒(9) | 日到秒,格式为"±dddddd hh:mm:ss[.ffffffffffff]"(最高精度) | 映射到QString |
小时间隔(8) | 小时,格式为'±hhhhhhhhh'(最大精度) | 映射到QString |
间隔小时(8) 转分钟 | 小时到分钟,格式为'±hhhhhhhhh:mm'(最大精度) | 映射到QString |
间隔小时(8)至秒(9) | 小时到秒,格式为"±hhhhhhhhh:mm:ss[.ffffffffffff]"(最高精度) | 映射到QString |
分钟间隔(10) | 分钟,格式为"±mmmmmmmmmm"(最大精度) | 映射到QString |
分钟(10)到秒(9)的时间间隔 | 分钟至秒,格式为"±mmmmmmmmmm:ss[.ffffffffffff]"(最高精度) | 映射到QString |
秒间隔(12,9) | 秒,格式为"±ssssssssssss[.ffffffffffff]"(最高精度) | 映射到QString |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.