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

问题描述

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

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

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

不起作用

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

解决方法

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

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

,

您可以为此使用CASE

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...