教你如何解決PostgreSQL Array使用中的一些小問題
導讀 | 這篇文章主要介紹瞭解決PostgreSQL Array使用中的一些小問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 |
在PostgreSQL 中可以使用Array資料結構,例如
select array[1,2,3]; return {1,2,3}
但是,如果
select array[1,2,3][1]; --會報錯 select (select array[1,2,3])[1] --可以使用
那麼在用正則匹配函式 regexp_match 就會遇到這樣的問題,如
select regexp_match('123-123', '(\d+)-(\d+)'); --return {123, 123} select regexp_match('123-123', '(\d+)-(\d+)')[1]; --報錯
但是,如果你想獲取其中一個元素,你就得使用巢狀查詢,如
select(select regexp_match('123-123', '(\d+)-(\d+)'))[1]; --return 123
其次,你如果要用regexp_matches 加上全域性搜尋,可能會生成多行資料,如
select 'a', array(select regexp_matches('aa-aa', '(aa)+', 'g')); -- return 2 rows a {aa} a {aa}
合併為一行,需要array函式
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
補充:PostgreSQL的 array_to_string 功能
開始
用 第二個引數連線陣列元素,例:
postgres=# select array_to_string (ARRAY[1,2,3],'##'); array_to_string ----------------- 1##2##3 (1 row) postgres=#
結束~
以上為個人經驗,希望能給大家一個參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2757198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小程式專案中的一些小問題
- vue工作中遇到的一些小問題Vue
- Leetcode刷題中關於java的一些小問題LeetCodeJava
- Filebeat和logstash 使用過程中遇到的一些小問題記錄
- 教你如何解決MySQL資料延遲跳動的問題MySql
- 教你使用一套程式碼解決出海問題
- 一些小問題彙總
- 關於Redis的一些小問題Redis
- 教你如何解決Python模組導包沒有找到的問題Python
- 如何解決Redis中的key過期問題Redis
- 教你如何使用PyTorch解決多分類問題PyTorch
- 如何解決小程式使用率低的問題
- 6個方面教你如何解決 vps主機主機變慢的問題
- 如何解決 github 訪問慢的問題Github
- 一個案例,教你巧用DMAIC解決“大問題”!AI
- 如何解決sms-activate的解決問題
- Rust 如何解決 C++ 的問題?RustC++
- mysql亂碼的問題如何解決MySql
- flutter run 卡住的問題如何解決Flutter
- 跨域問題?如何解決?跨域
- 如何解決報表關聯計算中的效能問題
- 如何解決WEB效能測試中的驗證碼問題Web
- 教你如何解決win10執行msi提示錯誤程式碼2502的問題Win10
- 教你如何解決win10系統下iphone連不上電腦的問題Win10iPhone
- 如何解決網站限制IP訪問的問題網站
- 如何解決使用JSON.stringify時遇到的迴圈引用問題JSON
- 如何解決PuTTY中文亂碼的問題
- 如何解決 oppo 手機 root 的問題
- 如何解決自增列賦值的問題賦值
- 如何解決OpenStack雲的互聯問題?
- 父母的養老問題該如何解決?
- 如何解決iPhone按鈕卡住的問題iPhone
- <span>Vue中使用axios如何解決跨域問題</span>VueiOS跨域
- 如何解決聯邦學習中的通訊開銷問題?聯邦學習
- 如何解決app閃退問題APP
- 如何解決TOP-K問題
- 前端跨域問題如何解決前端跨域
- 如何解決MRAM壽命問題