亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

PostgreSQL -- 數組類型操作

發布時間:2020-07-06 18:14:38 來源:網絡 閱讀:20803 作者:朱飛東 欄目:MySQL數據庫

一、數組類型創建表

數組類型,要求數組內的元素屬于同一種類型,當出現No function matches the given name and argument types. You might need to add explicit type casts.報錯的時候,說明 list 的格式和插入數據或者修改數據的格式不同導致的, 類型很重要,需要保證類型相同才可以操作
 

1.1、建表指定數組類型

只需要在表字段類型后面加'[]'

postgres=# create table test1 (
    id serial, 
    arr int[], 
    name varchar(10)[], 
    age char(10)[], 
    score float[]
    ); 

postgres=# \d+ test1;
                                                 Table "public.test1"
     Column |          Type           |                     Modifiers                      | Storage  | Stats target | Description 
--------+-------------------------+----------------------------------------------------+----------+--------------+-------------
 id     | integer                 | not null default nextval('test1_id_seq'::regclass) | plain    |              | 
 arr    | integer[]               |                                                    | extended |              | 
 name   | character varying(10)[] |                                                    | extended |              | 
 age    | character(10)[]         |                                                    | extended |              | 
 score  | double precision[]      |                                                    | extended |              | 

 

1.2、數據插入

postgres=# insert into test(id, uid) values(3, '{1, 2, 3}');        插入數組方式1
postgres=# insert into test(id, uid) values(3, array[20, 30]::int8[]);   插入數組方式二

1.3、修改數組:

postgres=# update test set uid = uid || '{0}';    后面追加一個數組
postgres=# update test set uid='{0,0}' || uid;   在前面插入一個數組
postgres=# update arr_test set uid=array_append(uid, '1'::int);   指明類型追加一個數
postgres=# update arr_test set uid=array_append(uid, 1);   按默認int類型追加一個數
postgres=# update arr_test set uid=array_prepend('1'::int, uid);     在前面插入一個數

1.4、刪除數組中的數據

postgres=# update arr_test set uid=array_remove(uid, '1'::int);  指明類型移除指定的數

1.5、查找數組中的數據

postgres=# select * from test where 20=any(uid);    #uid數組中存在20的row
postgres=# select * from test where uid && array[20, 1]::int8[];   uid數組中和array[20, 1]存在交集的
postgres=# select * from arr_test where uid@>'{1, 2}';   uid 數組中同時包含[1, 2]的
postgres=# select * from arr_test where uid<@'{1, 2}';   uid 數組被[1, 2]包含的

postgres=# select * from arr_test where 2=uid[1]; 使用uid 數組下標查詢,下標是從1開始的
postgres=# select id, uid[2] from arr_test; 使用下標顯示

向AI問一下細節

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

AI

乐安县| 佳木斯市| 三都| 屏山县| 加查县| 汉川市| 依安县| 吉木乃县| 汕尾市| 星子县| 永宁县| 赣州市| 内江市| 吐鲁番市| 万盛区| 贡山| 隆尧县| 汉源县| 舟曲县| 辉南县| 沂源县| 平江县| 荣昌县| 宁明县| 临高县| 昭觉县| 龙川县| 鄂州市| 丰城市| 方山县| 马边| 随州市| 青田县| 五家渠市| 普安县| 辽宁省| 东城区| 五指山市| 民勤县| 弋阳县| 天峨县|