首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL,结果到数组

PostgreSQL,结果到数组
EN

Stack Overflow用户
提问于 2018-01-28 11:58:24
回答 1查看 83关注 0票数 1

在我的程序中,我(几乎)有一张这样的桌子:

代码语言:javascript
复制
CREATE TEMP TABLE temp_list 
   (profilenum integer, profilename text, compid text) 
   ON COMMIT DROP;
INSERT INTO temp_list 
VALUES (1, 'bynamePROFILE_border_Minimal',       '03'),
       (2, 'bynamePROFILE_backoffice_Universal', '03'),
       (3, 'bynamePROFILE_calc_Universal',       '03'),
       (4, 'bynamePROFILE_calc_Universal',       '02'),
       (5, 'bynamePROFILE_backoffice_Minimal',   '01'),
       (6, 'bynamePROFILE_ilup_Universal',       '03');   

我可以这样质疑:

代码语言:javascript
复制
SELECT profilename  
  FROM temp_list WHERE compid='03' AND profilename LIKE 'bynamePROFILE_%';

..。什么给出了预期的结果。

但是,我需要一些字符串操作来获得适合于最近在我的程序中转换为数组形式的字符串:

代码语言:javascript
复制
SELECT array_agg(btrim(profilename, 'bynamePROFILE_')) 
  FROM temp_list WHERE compid='03' AND profilename LIKE 'bynamePROFILE_%';  

这给了我不正确的结果:

代码语言:javascript
复制
"{order_Minimal,ckoffice_Universal,calc_Universal,ilup_Universal}"  
 (note missing first letter(s) in words beginning with 'b')

而不是:

代码语言:javascript
复制
"{border_Minimal,backoffice_Universal,calc_Universal,ilup_Universal}"

这是因为我(和往常一样)还是因为PostgreSQL,我的查询是否可以得到改进以获得想要的结果?

Windows 10/64,PostgreSQL 9.6

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-28 12:59:53

来自文件:

btrim(字符串文本,字符文本) 从字符串的开头和结尾移除仅由字符中的字符组成的最长字符串(默认情况下为空格)。

如果要删除前缀abba,则函数btrim()不是正确的选择:

代码语言:javascript
复制
with my_table (str) as (
values
    ('abbababax')
)

select btrim(str, 'abba')
from my_table;

 btrim 
-------
 x
(1 row)

使用其他字符串操作函数之一,例如right()

代码语言:javascript
复制
with my_table (str) as (
values
    ('abbababax')
)

select right(str, -4)
-- or
-- select right(str, -length('abba'))
from my_table;

 right 
-------
 babax
(1 row) 

使用regexp的示例。使用^字符确保从字符串的开头移除子字符串:

代码语言:javascript
复制
select regexp_replace(str, '^abba', '')
from my_table;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48486102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档