PostgreSQL數據類型

數據類型指定要在表字段中存儲哪種類型的數據。 在創建表時,對於每列必須使用數據類型。
PotgreSQL中主要有三種類型的數據類型。 此外,用戶還可以使用CREATE TYPE SQL命令創建自己的自定義數據類型。

以下是PostgreSQL中主要有三種類型的數據類型:

  • 數值數據類型
  • 字串數據類型
  • 日期/時間數據類型

數值數據類型

數字數據類型用於指定表中的數字數據。

名稱 描述 存儲大小 範圍
smallint 存儲整數,小範圍 2位元組 -32768 至 +32767
integer 存儲整數。使用這個類型可存儲典型的整數 4位元組 -2147483648 至 +2147483647
bigint 存儲整數,大範圍。 8位元組 -9223372036854775808 至 9223372036854775807
decimal 用戶指定的精度,精確 變數 小數點前最多為131072個數字; 小數點後最多為16383個數字。
numeric 用戶指定的精度,精確 變數 小數點前最多為131072個數字; 小數點後最多為16383個數字。
real 可變精度,不精確 4位元組 6位數字精度
double 可變精度,不精確 8位元組 15位數字精度
serial 自動遞增整數 4位元組 1 至 2147483647
bigserial 大的自動遞增整數 8位元組 1 至 9223372036854775807

字串數據類型

String數據類型用於表示字串類型值。

數據類型 描述
char(size) 這裏size是要存儲的字元數。固定長度字串,右邊的空格填充到相等大小的字元。
character(size) 這裏size是要存儲的字元數。 固定長度字串。 右邊的空格填充到相等大小的字元。
varchar(size) 這裏size是要存儲的字元數。 可變長度字串。
character varying(size) 這裏size是要存儲的字元數。 可變長度字串。
text 可變長度字串。

日期/時間數據類型

日期/時間數據類型用於表示使用日期和時間值的列。

名稱 描述 存儲大小 最小值 最大值 解析度
timestamp [ (p) ] [不帶時區 ] 日期和時間(無時區) 8位元組 4713 bc 294276 ad 1微秒/14位數
timestamp [ (p) ]帶時區 包括日期和時間,帶時區 8位元組 4713 bc 294276 ad
date 日期(沒有時間) 4位元組 4713 bc 5874897 ad 1微秒/14位數
time [ (p) ] [ 不帶時區 ] 時間(無日期) 8位元組 00:00:00 24:00:00 1微秒/14位數
time [ (p) ] 帶時區 僅限時間,帶時區 12位元組 00:00:00+1459 24:00:00-1459 1微秒/14位數
interval [ fields ] [ (p) ] 時間間隔 12位元組 -178000000年 178000000年 1微秒/14位數

一些其他數據類型

布爾類型:

名稱 描述 存儲大小
boolean 它指定truefalse的狀態。 1位元組

貨幣類型:

名稱 描述 存儲大小 範圍
money 貨幣金額 8位元組 -92233720368547758.08 至 +92233720368547758.07

幾何類型:

幾何數據類型表示二維空間對象。最根本的類型: - 形成所有其他類型的基礎。

名稱 存儲大小 表示 描述
point 16位元組 在一個平面上的點 (x,y)
line 32位元組 無限線(未完全實現) ((x1,y1),(x2,y2))
lseg 32位元組 有限線段 ((x1,y1),(x2,y2))
box 32位元組 矩形框 ((x1,y1),(x2,y2))
path 16+16n位元組 封閉路徑(類似於多邊形) ((x1,y1),…)
polygon 40+16n位元組 多邊形(類似於封閉路徑) ((x1,y1),…)
circle 24位元組 <(x,y),r>(中心點和半徑)

上一篇: PostgreSQL命令語法大全 下一篇: PostgreSQL安裝(Windows)