Qt支持的数据库系统的数据类型¶
数据库系统推荐的数据类型
Qt支持的数据库系统推荐数据类型¶
此表显示了从Qt支持的数据库中提取数据时推荐的数据类型。请注意,Qt中使用的类型不一定作为特定数据库系统的输入类型有效。例如,double可能非常适合作为特定数据库中浮点记录的输入,但不一定适合作为该数据库输出的存储格式,因为它将以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
固定长度,以空字符结尾的字符串
映射到QString
VARCHAR
以空字符结尾的可变长度字符串
映射到QString
LONG VARCHAR
非空终止的可变长度字符串
映射到 QString
BLOB
非空终止的可变二进制字符串,带有4字节字符串长度指示符
映射到QByteArray
CLOB
字符大字符串对象
映射到QString
日期
以下格式的以空字符结尾的字符串:yyyy-mm-dd
映射到 QDate
TIME
以下格式的空终止字符串:hh.mm.ss
映射到 QTime
TIMESTAMP
以空字符结尾的字符串,格式如下: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
日期
显示日期。格式:'yyyy-mm-dd'
映射到 QDate
时间
显示时间。格式为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
文本
字符串
映射到QString
MEDIUMTEXT
字符串
映射到QString
LONGTEXT
字符串
映射到QString
CLOB
字符大字符串对象
映射到QString
所有BLOB类型
BLOB
映射到QByteArray
日期
不带时间的日期
映射到 QDate
DATETIME
日期和时间
映射到 QDateTime
TIMESTAMP
日期和时间
映射到 QDateTime
时间
时间
映射到QTime
YEAR
年份 (整数)
映射到 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
日期
字符串
映射到QDate
时间
字符时间,字符串
映射到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
数值变量
用户指定的精度,精确
typedef qreal
VARCHAR
可变长度字符串
映射到QString
CHARACTER
固定长度的字符串
映射到QString
文本
可变长度的字符串
映射到QString
CLOB
字符大字符串对象
映射到QString
TIMESTAMP
8字节,包含日期和时间
映射到QDateTime
TIMESTAMP
8字节,包含日期和时间,带时区
映射到QDateTime
日期
4字节,仅日期
映射到QDate
时间
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
文本
字符串(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
固定长度的拉丁-1字符字符串(CHAR 或 character)
映射到 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
拉丁-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 DAY(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