溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

定義PostgreSQL數(shù)組類型的方法

發(fā)布時間:2020-07-17 10:36:02 來源:億速云 閱讀:226 作者:清晨 欄目:編程語言

小編給大家分享一下定義PostgreSQL數(shù)組類型的方法,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!

PostgreSQL數(shù)組類型怎么定義

PostgreSQL支持表的字段使用定長或可變長度的一維或多維數(shù)組,數(shù)組的類型可以是任何數(shù)據(jù)庫內(nèi)建的類型、用戶自定義的類型、枚舉類型,以及組合類型。但目前還不支持 domain 類型。

推薦:postgresql教程

數(shù)組類型的定義就是通過在數(shù)組元素類型名后面附加中括號 [] 來實現(xiàn)的,中括號中可以給一個長度數(shù)字,也可以不給。

定義指定多維數(shù)組的維度也是沒有意義的,數(shù)組的維度是根據(jù)實際插入的數(shù)據(jù)來確定的,如下兩個語句意義是一樣的:

CREATE TABLE test1 (id int, col1 int[], col2 int[10], col3 text[][]);
CREATE TABLE test2 (id int, col1 int[10], col2 int[], col3 text[]);

1、輸入數(shù)組值

可以使用 ARRAY 構(gòu)造器語法輸入數(shù)據(jù),一個數(shù)組構(gòu)造器是一個表達式,它從自身的成員上構(gòu)造一個數(shù)組值。

一個簡單的數(shù)組構(gòu)造器由關(guān)鍵字 ARRAY、[、一個或多個表示數(shù)組元素值的表達式(用逗號分隔)、] 組成

INSERT INTO test values(1, ARRAY['os', 'dba']);

INSERT INTO test values(1, ARRAY['os"dba', '123"456']);

INSERT INTO test values(1, ARRAY['os''dba', '123''456']);

// 多維數(shù)組,在向多維數(shù)組插入值時,各個維度的元素個數(shù)必須相同,否則會報錯
INSERT INTO test values(1, ARRAY[['os', 'dba'],['dba', 'os']]);

2、訪問數(shù)組

默認情況下,數(shù)組的下標是從 1 開始的,但也可以指定下標的開始值,如下:

CREATE TABLE test02 (id int[]);
INSERT INTO test02 values('[2:4] = {1, 2, 3}');
SELECT id[2], id[3], id[4] FROM test02;

指定上下標的格式為:

'[下標:上標] = [元素值1,元素值2,元素值3,...]'

可以使用數(shù)組的切片,如下所示:

SELECT id, col[1:2] FROM test02;

以上是定義PostgreSQL數(shù)組類型的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI