如何从名为'link'的列中的行中取一个字符串,并通过将三个字母添加到字符串中的特定索引位置来对其进行修改。用于更新字符串中的三个字符的SQL语句
具体例子:
我想选择的价值'http://www.hello.no'
和UPDATE
它'http://www-x1.hello.no'
使用SQL语句(一个或多个)。
可以说,'-x1'开头的索引位置将始终为10.
这需要使用PostgreSQL完成。但是,如果你能用一般的SQL语句捕获逻辑,那么很好。 :)
如何从名为'link'的列中的行中取一个字符串,并通过将三个字母添加到字符串中的特定索引位置来对其进行修改。用于更新字符串中的三个字符的SQL语句
具体例子:
我想选择的价值'http://www.hello.no'
和UPDATE
它'http://www-x1.hello.no'
使用SQL语句(一个或多个)。
可以说,'-x1'开头的索引位置将始终为10.
这需要使用PostgreSQL完成。但是,如果你能用一般的SQL语句捕获逻辑,那么很好。 :)
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 <...>
这不你问什么:
update the_table
set the_column = left(the_column, 10) || '-x1' || substring(the_column, 10);
但我不知道这是你想要的。看起来你想在第一个.
前插入'-x1'
,这会有所不同。