吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PostgreSQL中可用的各種數(shù)據(jù)類型

科技綠洲 ? 來源:TinyZ ? 作者:TinyZ ? 2023-09-19 14:08 ? 次閱讀

PostgreSQL是一種功能強大的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有廣泛的數(shù)據(jù)類型支持。在本教程中,我們將介紹PostgreSQL中可用的各種數(shù)據(jù)類型,包括數(shù)值、字符串、幾何、時間、日期、布爾、貨幣和json類型。

數(shù)值類型

PostgreSQL支持各種數(shù)值類型,包括整數(shù)、小數(shù)和浮點數(shù)。下面是一些常見的數(shù)值類型及其有效值范圍。

整數(shù)類型

PostgreSQL支持以下整數(shù)類型:

  • ? smallint:2字節(jié),范圍為-32768到+32767
  • ? integer:4字節(jié),范圍為-2147483648到+2147483647
  • ? bigint:8字節(jié),范圍為-9223372036854775808到+9223372036854775807

這些類型可以存儲整數(shù)值,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    small smallint,
    int integer,
    big bigint
);

INSERT INTO example (small, int, big) VALUES (-32768, 2147483647, 9223372036854775807);

小數(shù)類型

PostgreSQL支持以下小數(shù)類型:

  • ? decimal:用戶指定的精度和標度,最大精度為131072位,最大標度為16383
  • ? numeric:用戶指定的精度和標度,最大精度為131072位,最大標度為16383
  • ? real:4字節(jié),單精度浮點數(shù)
  • ? double precision:8字節(jié),雙精度浮點數(shù)

這些類型可以存儲小數(shù)值,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    dec decimal(10,2),
    num numeric(10,2),
    r real,
    d double precision
);

INSERT INTO example (dec, num, r, d) VALUES (1234.56, 1234.56, 1234.56, 1234.56);

字符串類型

PostgreSQL支持各種字符串類型,包括固定長度和可變長度字符串。下面是一些常見的字符串類型及其有效值范圍。

固定長度字符串類型

PostgreSQL支持以下固定長度字符串類型:

  • ? char(n):長度為n的固定長度字符串,n的范圍是1到10485760
  • ? character(n):長度為n的固定長度字符串,n的范圍是1到10485760

這些類型可以存儲固定長度的字符串,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    c char(10),
    ch character(10)
);

INSERT INTO example (c, ch) VALUES ('hello', 'world');

可變長度字符串類型

PostgreSQL支持以下可變長度字符串類型:

  • ? varchar(n):長度為n的可變長度字符串,n的范圍是1到10485760
  • ? character varying(n):長度為n的可變長度字符串,n的范圍是1到10485760
  • ? text:可變長度字符串,最大長度為10485760

這些類型可以存儲可變長度的字符串,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    v varchar(10),
    cv character varying(10),
    t text
);

INSERT INTO example (v, cv, t) VALUES ('hello', 'world', 'hello world');

幾何類型

PostgreSQL支持各種幾何類型,包括點、線、多邊形和圓。下面是一些常見的幾何類型及其有效值范圍。

點類型

點類型表示二維平面中的一個點,由x和y坐標組成。PostgreSQL支持以下點類型:

  • ? point:由x和y坐標組成的點

這些類型可以存儲點坐標,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    p point
);

INSERT INTO example (p) VALUES ('(1,2)');

線類型

線類型表示二維平面中的一條線,由起點和終點坐標組成。PostgreSQL支持以下線類型:

  • ? line:由起點和終點坐標組成的線
  • ? lseg:由起點和終點坐標組成的線段
  • ? box:由左下和右上角坐標組成的矩形框

這些類型可以存儲線段和矩形框,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    l line,
    ls lseg,
    b box
);

INSERT INTO example (l, ls, b) VALUES ('[(1,2),(3,4)]', '[(1,2),(3,4)]', '((1,2),(3,4))');

多邊形類型

多邊形類型表示二維平面中的一個多邊形,由一組點坐標組成。PostgreSQL支持以下多邊形類型:

  • ? path:由一組點坐標組成的多邊形
  • ? polygon:由一組點坐標組成的封閉多邊形

這些類型可以存儲多邊形,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    pa path,
    po polygon
);

INSERT INTO example (pa, po) VALUES ('((1,2),(3,4),(5,6))', '((1,2),(3,4),(5,6))');

圓類型

圓類型表示二維平面中的一個圓,由圓心坐標和半徑組成。PostgreSQL支持以下圓類型:

  • ? circle:由圓心坐標和半徑組成的圓

這些類型可以存儲圓,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    c circle
);

INSERT INTO example (c) VALUES ('< (1,2),3 >');

時間類型

PostgreSQL支持各種時間類型,包括日期、時間和時間戳。下面是一些常見的時間類型及其有效值范圍。

日期類型

日期類型表示一個日期,由年、月和日組成。PostgreSQL支持以下日期類型:

  • ? date:日期類型,范圍為0001-01-01到5874897-12-31

這些類型可以存儲日期,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    d date
);

INSERT INTO example (d) VALUES ('2022-01-01');

時間類型

時間類型表示一天中的時間,由小時、分鐘和秒組成。PostgreSQL支持以下時間類型:

  • ? time:時間類型,范圍為00:00:00到24:00:00
  • ? time with time zone:帶時區(qū)的時間類型,范圍為00:00:00到24:00:00

這些類型可以存儲時間,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    t time,
    tz time with time zone
);

INSERT INTO example (t, tz) VALUES ('12:34:56', '12:34:56+08');

時間戳類型

時間戳類型表示日期和時間的組合,由年、月、日、小時、分鐘和秒組成。PostgreSQL支持以下時間戳類型:

  • ? timestamp:時間戳類型,范圍為0001-01-01 00:00:00到294276-12-31 23:59:59
  • ? timestamp with time zone:帶時區(qū)的時間戳類型,范圍為0001-01-01 00:00:00到294276-12-31 23:59:59

這些類型可以存儲日期和時間,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    ts timestamp,
    tsz timestamp with time zone
);

INSERT INTO example (ts, tsz) VALUES ('2022-01-01 12:34:56', '2022-01-01 12:34:56+08');

日期類型

PostgreSQL支持各種日期類型,包括日期、時間和時間戳。下面是一些常見的日期類型及其有效值范圍。

日期類型

日期類型表示一個日期,由年、月和日組成。PostgreSQL支持以下日期類型:

  • ? date:日期類型,范圍為0001-01-01到5874897-12-31

這些類型可以存儲日期,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    d date
);

INSERT INTO example (d) VALUES ('2022-01-01');

時間類型

時間類型表示一天中的時間,由小時、分鐘和秒組成。PostgreSQL支持以下時間類型:

  • ? time:時間類型,范圍為00:00:00到24:00:00
  • ? time with time zone:帶時區(qū)的時間類型,范圍為00:00:00到24:00:00

這些類型可以存儲時間,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    t time,
    tz time with time zone
);

INSERT INTO example (t, tz) VALUES ('12:34:56', '12:34:56+08');

時間戳類型

時間戳類型表示日期和時間的組合,由年、月、日、小時、分鐘和秒組成。PostgreSQL支持以下時間戳類型:

  • ? timestamp:時間戳類型,范圍為0001-01-01 00:00:00到294276-12-31 23:59:59
  • ? timestamp with time zone:帶時區(qū)的時間戳類型,范圍為0001-01-01 00:00:00到294276-12-31 23:59:59

這些類型可以存儲日期和時間,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    ts timestamp,
    tsz timestamp with time zone
);

INSERT INTO example (ts, tsz) VALUES ('2022-01-01 12:34:56', '2022-01-01 12:34:56+08');

布爾類型

PostgreSQL支持布爾類型,表示真或假。以下是布爾類型的有效值:

  • ? true:真
  • ? false:假

這些類型可以存儲布爾值,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    b boolean
);

INSERT INTO example (b) VALUES (true);

貨幣類型

PostgreSQL支持貨幣類型,表示貨幣值。以下是貨幣類型的有效值:

  • ? money:貨幣類型,范圍為-92233720368547758.08到+92233720368547758.07

這些類型可以存儲貨幣值,例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    m money
);

INSERT INTO example (m) VALUES ('$1234.56');

JSON類型

PostgreSQL支持JSON類型,可以存儲JSON格式的數(shù)據(jù)。以下是JSON類型的有效值:

  • ? json:JSON類型,存儲JSON格式的數(shù)據(jù)
  • ? jsonb:二進制JSON類型,存儲JSON格式的數(shù)據(jù)

這些類型可以存儲JSON格式的數(shù)據(jù),例如:

CREATE TABLE example (
    id serial PRIMARY KEY,
    j json,
    jb jsonb
);

INSERT INTO example (j, jb) VALUES ('{"name": "John", "age": 30}', '{"name": "John", "age": 30}');

總結(jié)

本教程介紹了PostgreSQL中可用的各種數(shù)據(jù)類型,包括數(shù)值、字符串、幾何、時間、日期、布爾、貨幣和json類型。熟悉這些數(shù)據(jù)類型及其有效值范圍可以幫助您更好地使用PostgreSQL。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4353

    瀏覽量

    86173
  • 數(shù)值
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    14405
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13663
  • postgresql
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    237
收藏 人收藏

    評論

    相關(guān)推薦

    GaussDB 數(shù)據(jù)類型介紹

    進行數(shù)據(jù)類型轉(zhuǎn)換,以滿足不同的需求。本文將以示例的形式羅列并介紹一些常見的數(shù)據(jù)類型轉(zhuǎn)換方法等。? 數(shù)據(jù)類型概念及特點 數(shù)據(jù)類型是一組值的集合以及定義在這個值集上的一組操作。GaussD
    的頭像 發(fā)表于 06-05 16:40 ?1742次閱讀
    GaussDB <b class='flag-5'>數(shù)據(jù)類型</b>介紹

    labview各種數(shù)據(jù)類型及轉(zhuǎn)換解析

    評點:本講義詳細介紹了LabVIEW的一些常用數(shù)據(jù)類型,如String、Numeric、Boolean等,以及它們直接該如何轉(zhuǎn)換等技巧。[hide] [/hide]
    發(fā)表于 11-16 10:25

    Labview各種數(shù)據(jù)類型

    Labview各種數(shù)據(jù)類型
    發(fā)表于 12-11 11:27

    超實用的讀寫ini文件VI,支持各種數(shù)據(jù)類型

    支持各種數(shù)據(jù)類型的讀寫ini文件
    發(fā)表于 02-18 09:58

    FPGA的VHDL語言的數(shù)據(jù)類型和運算符

    VHDL 和其他高級語言一樣,具有多種數(shù)據(jù)類型。對大多數(shù)數(shù)據(jù)類型的定義兩者是一致的(例如整數(shù)型),但是也有一些數(shù)據(jù)類型是 VHDL 所獨有的。表 2-2 所示為 VHDL 支持的數(shù)據(jù)類型
    發(fā)表于 09-10 10:09

    1.2FreeRTOS數(shù)據(jù)類型

    1.2FreeRTOS數(shù)據(jù)類型2017.2.1書zzwFreeRTOS 主要自定義了以下四種數(shù)據(jù)類型:TickType_t如果用戶使能了宏定義configUSE_16_BIT_TICKS,那么
    發(fā)表于 07-22 23:27

    如何獲取F28335各種數(shù)據(jù)類型所占的字節(jié)數(shù)?

    如何獲取F28335各種數(shù)據(jù)類型所占的字節(jié)數(shù)?
    發(fā)表于 10-22 06:59

    一篇文章看懂HLS數(shù)據(jù)類型

    種數(shù)據(jù)類型給用戶提供了更多的選擇,用戶可根據(jù)實際需求選擇可最佳匹配于硬件的數(shù)據(jù)類型。一個小的技巧是,把數(shù)據(jù)類型通過typedef定義在用戶的頭文件。此外,在仿真時可采用float或
    的頭像 發(fā)表于 12-12 14:18 ?1.7w次閱讀
    一篇文章看懂HLS<b class='flag-5'>中</b>的<b class='flag-5'>數(shù)據(jù)類型</b>

    C語言各種數(shù)據(jù)類型的內(nèi)存映像

    ? C語言各種數(shù)據(jù)類型的內(nèi)存映像(32位平臺): 0 signed char ? #include?stdio.hint?main(){????char?min?=?17;????char?max
    的頭像 發(fā)表于 07-06 14:49 ?1058次閱讀

    type( ) 函數(shù)查詢數(shù)據(jù)類型是什么

    常用的3種數(shù)據(jù)類型: Python數(shù)據(jù)類型第一種:字符串(str)。 Python數(shù)據(jù)類型第二種:整數(shù)(int)。 Python數(shù)據(jù)類型第三種:浮點數(shù)(float)。
    的頭像 發(fā)表于 02-23 14:59 ?2234次閱讀

    什么是數(shù)據(jù)類型轉(zhuǎn)換

    常用的3種數(shù)據(jù)類型:1、Python數(shù)據(jù)類型第一種:字符串(str)。 2、Python數(shù)據(jù)類型第二種:整數(shù)(int)。 3、Python數(shù)據(jù)類型第三種:浮點數(shù)(float)。
    的頭像 發(fā)表于 02-23 15:21 ?1821次閱讀

    Verilog最常用的2種數(shù)據(jù)類型

    Verilog 最常用的 2 種數(shù)據(jù)類型就是線網(wǎng)(wire)與寄存器(reg),其余類型可以理解為這兩種數(shù)據(jù)類型的擴展或輔助。
    的頭像 發(fā)表于 05-29 16:27 ?2448次閱讀
    Verilog最常用的2<b class='flag-5'>種數(shù)據(jù)類型</b>

    Redis的數(shù)據(jù)類型有哪些

    用的一種數(shù)據(jù)類型,普通的key- value 存儲都可以歸為此類。其中Value既可以是數(shù)字也可以是字符串。使用場景:常規(guī)key-value緩存應用。常規(guī)計數(shù): 微博數(shù), 粉絲數(shù)。 2、Hash:Hash 是一個鍵值(
    的頭像 發(fā)表于 10-09 10:51 ?848次閱讀

    redis的五種數(shù)據(jù)類型

    Redis是一種高性能的內(nèi)存數(shù)據(jù)庫,常用于緩存、任務隊列、分布式鎖等場景。它提供了多種數(shù)據(jù)類型來滿足各種不同的需求,包括字符串(string)、哈希(hash)、列表(list)、集合(set
    的頭像 發(fā)表于 11-16 11:06 ?695次閱讀

    oracle的數(shù)據(jù)類型有哪些

    Oracle數(shù)據(jù)庫中有許多數(shù)據(jù)類型可供選擇,每種數(shù)據(jù)類型都有其各自的特點和適用場景。下面是對Oracle數(shù)據(jù)庫中最常用的數(shù)據(jù)類型的詳盡說明,
    的頭像 發(fā)表于 12-05 16:45 ?2535次閱讀
    澳门百家乐官网技巧皇冠网| 百家乐浴盆博彩通排名| 鸟巢百家乐官网的玩法技巧和规则| 91百家乐的玩法技巧和规则| 平台百家乐官网的区别| 百家乐高| 利高百家乐官网的玩法技巧和规则 | 百家乐官网有没有稳赢| 金海岸百家乐娱乐城| 欧洲娱乐场| 百家乐最大的赌局| 传奇百家乐官网的玩法技巧和规则 | 缅甸百家乐官网的玩法技巧和规则 | 百家乐输钱的原因| 百家乐官网视频软件下载| 大发888网页版| 百家乐官网vshow| 汇丰娱乐城| 大发888娱乐成| 鑫鼎百家乐娱乐城| 有百家乐官网的棋牌游戏| 大发888洗码| 百家乐对打反水| 百家乐官网全讯网2| 中山水果机定位器| 百家乐玩法窍门| 百家乐官网最低投注| 永利百家乐官网开户| 速博百家乐的玩法技巧和规则| 恒利百家乐官网的玩法技巧和规则| 澳门百家乐官网的赢钱不倒翁| 最新百家乐官网游戏机| 大发888娱乐场下载ypu rd| 百家乐3带厂家地址| 豪博百家乐官网娱乐城| 在线扎金花| 久盛国际娱乐城| 百家乐技巧开户| 澳门百家乐博客| 怎么看百家乐官网走势| 百家乐官网犯法|