佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > postgresql 實(shí)現(xiàn)將數(shù)組變?yōu)樾?/div>

postgresql 實(shí)現(xiàn)將數(shù)組變?yōu)樾?/h1>

熱門標(biāo)簽:百度競價(jià)排名 鐵路電話系統(tǒng) 服務(wù)外包 呼叫中心市場需求 AI電銷 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 Linux服務(wù)器

有的時(shí)候需要把數(shù)組元素同表中的字段進(jìn)行關(guān)系運(yùn)算,首先得把a(bǔ)rray變?yōu)橛涗浶?/p>

SELECT "unnest"(array[1,2,3])

結(jié)果:
unnest

求數(shù)組交集:

SELECT "unnest"(array[1,2,3]) INTERSECT SELECT "unnest"(array[3,4,5]) 

結(jié)果:
unnest
3

補(bǔ)充:PostgreSQL單列多行變一行一行變多行

工作中經(jīng)常遇到這樣一個(gè)場景,希望將某個(gè)字?jǐn)嗖樵兂龅媒Y(jié)果組合成為一個(gè)字符串,用逗號分割(或者分號),通過PG中的函數(shù)該如何實(shí)現(xiàn)?

多行變一行

實(shí)例表:

想要的結(jié)果:

方法一:string_agg(字段名,分隔符)

select id,string_agg(name,',') AS NAME_NEW from test
group by 1
ORDER BY 1

方法二:array_agg(字段名)

select id,array_agg(name)
AS NAME_NEW from test
group by 1
ORDER BY 1;

select id,array_to_string(array_agg(name),',')
AS NAME_NEW from test
group by 1
ORDER BY 1;

另外:array_agg(distinct(字段名)) 拼接唯一的字段。

一行變多行

select id,regexp_split_to_table(name_new,',')
AS NAME from test;

select id,unnest(string_to_array(name_new,','))
AS NAME from test;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 淺談PostgreSQL中大小寫不敏感問題
  • PostgreSQL LIKE 大小寫實(shí)例
  • Postgresql 數(shù)據(jù)庫轉(zhuǎn)義字符操作
  • postgresql~*符號的含義及用法說明
  • postgresql數(shù)據(jù)庫使用說明_實(shí)現(xiàn)時(shí)間范圍查詢
  • 基于PostgreSql 別名區(qū)分大小寫的問題

標(biāo)簽:衡水 蘭州 銅川 湖南 湘潭 崇左 黃山 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgresql 實(shí)現(xiàn)將數(shù)組變?yōu)樾小?,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    株洲县| 驻马店市| 涞水县| 宁明县| 台前县| 百色市| 上蔡县| 东宁县| 抚宁县| 林芝县| 东乌珠穆沁旗| 临潭县| 项城市| 沙坪坝区| 双江| 宜君县| 甘南县| 丰都县| 宜宾县| 中超| 丰县| 呼伦贝尔市| 横山县| 景谷| 河西区| 武安市| 石林| 曲阳县| 太原市| 同德县| 东乌| 沙洋县| 白银市| 东方市| 怀来县| 隆昌县| 临海市| 周口市| 庄浪县| 哈尔滨市| 眉山市|