sql - PostgreSQL 删除等于以逗号分隔的字符串的行

标签 sql string postgresql csv sql-delete

我是 SQL 初学者,我希望通过执行查询来删除一些行。

例如,我有一张 table :

     ID                  │           Type            │ 
─────────────────────────┼───────────────────────────┼
 220                     │ aaa                       │ 
 220                     │ bbb                       │
 220                     │ ccc                       │ 
 220                     │ ddd                       │ 
 220                     │ eee                       │ 
 220                     │ fff                       │ 

我有一个用逗号分隔的字符串:

aaa、bbb、fff、ddd

我希望删除 ID 等于 220 并且 Type 等于字符串中的值的所有行。

我该如何解决这个问题。

非常感谢

最佳答案

一个选项将字符串拆分为数组,然后使用 any():

delete 
from mytable 
where id = 220 and type = any(string_to_array('aaa, bbb, fff, ddd', ', ' ))

关于sql - PostgreSQL 删除等于以逗号分隔的字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63725476/

相关文章:

mysql - 堆叠式 SQL 查询错误和并发症

sql - 在 SQL Server 中连接嵌套的 JSON

python - 如何在 scrapy 中避免错误 "TypeError: a bytes-like object is required, not ' str'"

mysql - CakePHP 数据库 - MyISAM、InnoDB 或 Postgresql

sql - 在 With 语句中选择 Null

sql - 在sql server中存储视频持续时间

java - 想从数据库中检索 java 中 xml 标记的值

python - TypeError:NoneType 和 str 不支持的操作数类型

objective-c - 如何在保留斯堪的纳维亚字母的同时一直为 SQLite 正确编码 NSString

ruby-on-rails - Rails 一对多 : Validate field value