SQLite - 数据类型


SQLite 数据类型是指定任何对象的数据类型的属性。SQLite 中的每个列、变量和表达式都有相关的数据类型。

您将在创建表时使用这些数据类型。SQLite 使用更通用的动态类型系统。在 SQLite 中,值的数据类型与值本身相关联,而不是与其容器相关联。

SQLite 存储类

SQLite 数据库中存储的每个值都具有以下存储类别之一 -

先生。 存储类别和描述
1

无效的

该值为 NULL 值。

2

整数

该值是一个有符号整数,根据值的大小存储在 1、2、3、4、6 或 8 个字节中。

3

真实的

该值为浮点值,存储为 8 字节 IEEE 浮点数。

4

文本

该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储

5

BLOB

该值是一团数据,完全按照输入时的方式存储。

SQLite 存储类比数据类型稍微通用一些。例如,INTEGER 存储类包括 6 种不同长度的不同整数数据类型。

SQLite 亲和类型

SQLite 支持列上类型关联的概念。任何列仍然可以存储任何类型的数据,但列的首选存储类称为其关联性。SQLite3 数据库中的每个表列都被分配以下类型关联之一 -

先生。 亲和力和描述
1

文本

该列使用存储类 NULL、TEXT 或 BLOB 存储所有数据。

2

数字

此列可能包含使用所有五个存储类别的值。

3

整数

Behave与具有 NUMERIC 亲和力的列相同,但 CAST 表达式中存在例外。

4

真实的

Behave类似于具有 NUMERIC 关联性的列,只不过它强制将整数值转换为浮点表示形式。

5

没有任何

具有关联性 NONE 的列不会优先选择一种存储类而不是另一种存储类,并且不会尝试将数据从一种存储类强制到另一种存储类。

SQLite 关联性和类型名称

下表列出了在创建具有相应应用关联性的 SQLite3 表时可以使用的各种数据类型名称。

数据类型 亲和力
  • INT
  • 整数
  • 天音
  • 小智
  • 中薄荷
  • BIGINT
  • 无符号大整型
  • INT2
  • INT8
整数
  • 人物(20)
  • VARCHAR(255)
  • 变化的性格(255)
  • NCHAR(55)
  • 原生角色(70)
  • NVARCHAR(100)
  • 文本
  • CLOB
文本
  • BLOB
  • 没有指定数据类型
没有任何
  • 真实的
  • 双倍的
  • 双精度
  • 漂浮
真实的
  • 数字
  • 小数(10,5)
  • 布尔值
  • 日期
  • 约会时间
数字

布尔数据类型

SQLite 没有单独的布尔存储类。相反,布尔值存储为整数 0(假)和 1(真)。

日期和时间数据类型

SQLite 没有单独的存储类来存储日期和/或时间,但 SQLite 能够将日期和时间存储为 TEXT、REAL 或 INTEGER 值。

先生。 存储类别和日期格式
1

文本

格式类似于“YYYY-MM-DD HH:MM:SS.SSS”的日期

2

真实的

公元前 4714 年 11 月 24 日格林威治中午以来的天数

3

整数

自 1970-01-01 00:00:00 UTC 以来的秒数

您可以选择以任何一种格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。