如何从名为“link”的列中的一行中取出一个字符串,并通过将三个字母添加到字符串中的特定索引位置来对其进行修改。
具体例子:
我想选择值 'http://www.hello.no'
并用 'http://www-x1
使用 SQL 语句。UPDATE
它。 hello.no'
假设“-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 <...>
关于更新字符串中三个字符的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20003653/