您好,登錄后才能下訂單哦!
小編給大家分享一下定義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è)資訊頻道!
免責聲明:本站發(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)容。