SQLite - 資料型別



SQLite 資料型別是一種屬性,它指定任何物件的 資料型別。在 SQLite 中,每個列、變數和表示式都有相關的資料型別。

在建立表時,您將使用這些資料型別。SQLite 使用更通用的動態型別系統。在 SQLite 中,值的 資料型別與值本身相關聯,而不是與其容器相關聯。

SQLite 儲存類

儲存在 SQLite 資料庫中的每個值都具有以下儲存類之一:

序號 儲存類 & 說明
1

NULL

該值為 NULL 值。

2

INTEGER

該值為有符號整數,根據值的大小儲存在 1、2、3、4、6 或 8 位元組中。

3

REAL

該值為浮點值,儲存為 8 位元組 IEEE 浮點數。

4

TEXT

該值為文字字串,使用資料庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)儲存。

5

BLOB

該值為資料塊,按輸入的原樣儲存。

SQLite 儲存類比資料型別略微通用。例如,INTEGER 儲存類包括 6 種不同長度的整數資料型別。

SQLite 親和性型別

SQLite 支援列上的型別親和性概念。任何列仍然可以儲存任何型別的資料,但列的首選儲存類稱為其親和性。SQLite3 資料庫中的每個表列都分配有以下型別親和性之一:

序號 親和性 & 說明
1

TEXT

此列使用 NULL、TEXT 或 BLOB 儲存類儲存所有資料。

2

NUMERIC

此列可以包含使用所有五個儲存類的值。

3

INTEGER

與具有 NUMERIC 親和性的列的行為相同,但在 CAST 表示式中除外。

4

REAL

與具有 NUMERIC 親和性的列的行為類似,但它會強制將整數值轉換為浮點表示。

5

NONE

親和性為 NONE 的列不偏好一個儲存類勝過另一個儲存類,並且不會嘗試將資料從一個儲存類強制轉換為另一個儲存類。

SQLite 親和性和型別名稱

下表列出了建立具有相應應用親和性的 SQLite3 表時可以使用的各種資料型別名稱。

資料型別 親和性
  • INT
  • INTEGER
  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • BIGINT
  • UNSIGNED BIG INT
  • INT2
  • INT8
INTEGER
  • CHARACTER(20)
  • VARCHAR(255)
  • VARYING CHARACTER(255)
  • NCHAR(55)
  • NATIVE CHARACTER(70)
  • NVARCHAR(100)
  • TEXT
  • CLOB
TEXT
  • BLOB
  • 未指定資料型別
NONE
  • REAL
  • DOUBLE
  • DOUBLE PRECISION
  • FLOAT
REAL
  • NUMERIC
  • DECIMAL(10,5)
  • BOOLEAN
  • DATE
  • DATETIME
NUMERIC

布林資料型別

SQLite 沒有單獨的布林儲存類。相反,布林值儲存為整數 0(false)和 1(true)。

日期和時間資料型別

SQLite 沒有用於儲存日期和/或時間的單獨儲存類,但 SQLite 能夠將日期和時間儲存為 TEXT、REAL 或 INTEGER 值。

序號 儲存類 & 日期格式
1

TEXT

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

2

REAL

自公元前 4714 年 11 月 24 日中午格林尼治以來的天數

3

INTEGER

自 1970-01-01 00:00:00 UTC 以來的秒數

您可以選擇使用任何這些格式儲存日期和時間,並使用內建的日期和時間函式在格式之間自由轉換。

廣告
© . All rights reserved.