我有一个表,其中有一列表示不同的水果名称 - 苹果、橙子、香蕉等。这些水果名称可以有重复。
现在,如果我执行 SQL Select,我会得到原样的名称。我想更改数据,以便每个“Apple”都替换为“Sweet Apple”,每个“Orange”都替换为“Mandarin”。
我知道我可以在 SQL 查询中使用 replace
函数。但是我不想/不能修改我的 SQL 查询。我试图将更改 SQL 作为最后的手段,因为这需要在几个不同的 Nodejs 脚本上完成。
我想知道数据库本身是否有某种方法可以使其自动返回这些更改的数据。有点像过滤器/管道/约束(我不知道该怎么调用它),它设置在表的特定列上,并使其自动为从此表查询的任何数据执行此替换功能。
我想要一个主要针对 Postgres 和 MySQL 的答案,如果可能的话,也想要针对 SQL Server 的答案。
最佳答案
不,最接近的是插入和更新上的触发器,以替换传入的数据,但如果不在查询中指定数据,则无法覆盖正在查询的数据。您可以创建一个 View 来显示替换的字符串。
关于mysql - SQL 如何在不使用 SQL 的情况下对来自列的任何 SQL 查询数据进行字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48308423/