首页 > 解决方案 > postgres - 来自选择的内联变量赋值

问题描述

在 SQL Server 中,可以进行内联变量赋值。

例如表 dbo.tbl 同义词:

+--+-------+-----------+
|id|keyword|replacement|
+--+-------+-----------+
|1 |aaa    |bbb        |
|2 |xxx    |yyy        |
|3 |ddd    |eee        |
+--+-------+-----------+

当我运行这个:

DECLARE @body varchar(max)='aaa111xxx111ddd' SELECT @body = REPLACE(@body,keyword,replacement) FROM dbo.tblSynonym SELECT @body

结果应该是bbb111yyy111eee

因此, 的值@body将在每一行(交互)上更新,替换输入将来自源表上先前行的结果。

是否可以在 postgres 中做这样的事情(没有光标)?

谢谢

标签: postgresqlvariablesinline-variable

解决方案


我想这会对你有所帮助

regexp_replace('Thomas', '.[mN]a.', 'M')  //ThM

看这里

https://www.postgresql.org/docs/current/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP


推荐阅读