91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

集贤县| 汝州市| 罗城| 东辽县| 大冶市| 吴堡县| 图木舒克市| 陈巴尔虎旗| 利辛县| 丹江口市| 许昌县| 锡林浩特市| 屏边| 台山市| 吴桥县| 全南县| 富宁县| 博湖县| 广西| 鹤岗市| 兴文县| 佛学| 哈尔滨市| 祁门县| 松江区| 武乡县| 寿阳县| 吴桥县| 洛隆县| 衡阳县| 巴里| 额敏县| 乌恰县| 洞口县| 五峰| 新建县| 新民市| 安岳县| 塔河县| 阳西县| 惠州市|