gpt4 book ai didi

arrays - 如何替换 PostgreSQL 中文本列中的字符数组?

转载 作者:行者123 更新时间:2023-11-29 12:13:15 25 4
gpt4 key购买 nike

我有 2 个文本列,我需要将(更新时)数组 1 ('q','x','y','z') 中的字符替换为数组 2 中的索引等效值 ('a ','b','c','d').

我最接近 atm 的是像这样将替换调用嵌套在彼此之间

UPDATE 
mytable
SET
col1=replace(
replace(
replace(
replace(
col1,'q','a'
),'x','b'
),'y','c'
),'z','d'
),
col2=replace(
replace(
replace(
replace(
col2,'q','a'
),'x','b'
),'y','c'
),'z','d'
)

但肯定有更好的方法来做到这一点?在我的现场案例中,我有 14 个这样的字符对。如果它有任何相关性 - 这些字符是日语象形文字和瑞典字母表中带有重音符号的字母的混合体。

最佳答案

PostgreSQL 对此有特殊的功能,translate() :

update mytable set
col1 = translate(col1, 'qxyz', 'abcd'),
col2 = translate(col2, 'qxyz', 'abcd')

sql fiddle example

关于arrays - 如何替换 PostgreSQL 中文本列中的字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19957048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com