解決PostgreSQL Array使用中的一些小問題
在PostgreSQL 中可以使用Array數(shù)據(jù)結(jié)構(gòu),例如
select array[1,2,3];
return {1,2,3}
但是,如果
select array[1,2,3][1]; --會(huì)報(bào)錯(cuò) select (select array[1,2,3])[1] --可以使用
那么在用正則匹配函數(shù) regexp_match 就會(huì)遇到這樣的問題,如
select regexp_match('123-123', '(\d+)-(\d+)'); --return {123, 123}
select regexp_match('123-123', '(\d+)-(\d+)')[1]; --報(bào)錯(cuò)
但是,如果你想獲取其中一個(gè)元素,你就得使用嵌套查詢,如
select(select regexp_match('123-123', '(\d+)-(\d+)'))[1]; --return 123
其次,你如果要用regexp_matches 加上全局搜索,可能會(huì)生成多行數(shù)據(jù),如
select 'a', array(select regexp_matches('aa-aa', '(aa)+', 'g'));
-- return 2 rows
a {aa}
a {aa}
合并為一行,需要array函數(shù)
select 'a', array(select regexp_matches('aa-aa', '(aa)+', 'g'));
--return
a {{aa},{aa}}
取其中的元素
select a, b[1][1] from (select 'a' as a, array(select regexp_matches('aa-aa', '(aa)+', 'g')) as b) as c;
--return
aa
補(bǔ)充:PostgreSQL的 array_to_string 功能
開始
用 第二個(gè)參數(shù)連接數(shù)組元素,例:
postgres=# select array_to_string (ARRAY[1,2,3],'##'); array_to_string ----------------- 1##2##3 (1 row) postgres=#
結(jié)束~
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Postgresql在mybatis中報(bào)錯(cuò):操作符不存在:character varying == unknown的問題
這篇文章主要介紹了Postgresql在mybatis中報(bào)錯(cuò): 操作符不存在 character varying == unknown的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
postgresql影子用戶實(shí)踐場(chǎng)景分析
這篇文章主要介紹了postgresql影子用戶實(shí)踐場(chǎng)景分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
postgresql合并string_agg函數(shù)的實(shí)例
這篇文章主要介紹了postgresql合并string_agg函數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL數(shù)據(jù)庫中DISTINCT關(guān)鍵字的四種用法詳解
PostgreSQL 不但高度兼容 SQL 標(biāo)準(zhǔn),同時(shí)還對(duì)很多語法進(jìn)行了擴(kuò)展,可以用于實(shí)現(xiàn)一些特殊的功能,今天我們就來介紹一下 PostgreSQL 數(shù)據(jù)庫中 DISTINCT 關(guān)鍵字的 4 種不同用法,需要的朋友可以參考下2024-04-04
在 PostgreSQL中解決圖片二進(jìn)制數(shù)據(jù)由于bytea_output參數(shù)問題導(dǎo)致顯示不正常的問題
無論 bytea_output 參數(shù)設(shè)置為 hex 還是 escape,你都可以通過 C# 訪問 PostgreSQL 數(shù)據(jù)庫,并且正常獲取并顯示圖片,本篇隨筆介紹這個(gè)問題的處理過程,感興趣的朋友跟隨小編一起看看吧2024-03-03

