【发布时间】:2020-10-12 17:21:38
【问题描述】:
我正在尝试替换字符串的第一个字符。我可以使用replace() 函数替换特定字符。但不确定如何替换列中所有字符串的 first 字符。
样本数据:
Column1
43449927
13448927
53443457
将第一个字符替换为“7”后的预期结果:
Column1
73449927
73448927
73443457
【问题讨论】:
-
这不是有效的 PostgreSQL,但是,
UPDATE table SET Column1 = CONCAT("7", SUBSTRING(Column1, 1))是基本逻辑。不要将第一个值替换,而是将“7”和一个子字符串(除第一个字符之外的所有字符)连接在一起。 -
这是将 7 与现有值连接起来
-
我不熟悉 Postgres 语法,但看起来你会使用
substring(Column1 from 2)来获取除第一个字符之外的所有字符,然后将“7”连接到 @987654327 的结果@。 postgresql.org/docs/9.1/functions-string.html。看起来这个函数是从 1 开始而不是从 0 开始的,所以试试Column1 from 2。 -
@WOUNDEDStevenJones,但感谢您的想法,我得到了实现它的解决方案
-
你也可以考虑
overlay()函数。
标签: sql postgresql replace