1

如何从名为'link'的列中的行中取一个字符串,并通过将三个字母添加到字符串中的特定索引位置来对其进行修改。用于更新字符串中的三个字符的SQL语句

具体例子:

我想选择的价值'http://www.hello.no'UPDATE'http://www-x1.hello.no'使用SQL语句(一个或多个)。
可以说,'-x1'开头的索引位置将始终为10.

这需要使用PostgreSQL完成。但是,如果你能用一般的SQL语句捕获逻辑,那么很好。 :)

回答

0

Postgresql有一个功能,可以用名为regexp_replace的模式进行替换。您可以使用该函数是这样的:

UPDATE my_table 
SET link = regexp_replace(link, 'www', 'www-x1') 
WHERE <...> 

当然你可以用直字符串操作做到这一点,太:

UPDATE my_table 
SET link = left(link, 10) || '-x1' || substring(link from 10) 
WHERE <...> 
0

这不你问什么:

update the_table 
    set the_column = left(the_column, 10) || '-x1' || substring(the_column, 10); 

但我不知道这是你想要的。看起来你想在第一个.前插入'-x1',这会有所不同。

相关问题