PostgreSQL-替换所有不='some string'的东西

时间:2020-09-10 10:11:50

标签: postgresql

在Postgresql中如何替换数据库列中行的所有实例?

假设我要用“ 0”替换所有不等于“ 1”,“ 2”的实例。

select regexp_replace(some_field,not in ('0','1','2'),'0') from table_name

不起作用

执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

UPDATE schema_name.table_name SET column_name = '0' WHERE column_name not in ('1', '2');

https://www.postgresql.org/docs/12/sql-update.html

如果这不是您所需要的,请提供更多详细信息,包括数据和预期结果。

答案 1 :(得分:0)

您可以为此使用CASE

SELECT CASE
           WHEN some_field IN ('0',
                               '1',
                               '2') THEN some_field
           ELSE '0'
       END AS some_field_new
FROM test;
相关问题