PostgreSQL 删除等于由逗号分隔的字符串的行
PostgreSQL Delete Row where equal to String delimited by comma
我是 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 的新手,我希望通过执行查询来删除一些行。
比如我有一个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', ', ' ))