postgres 多行数据的某个字段是用逗号隔开存储的,怎么模糊查询逗号与逗号之间的数据
时间: 2024-03-27 12:40:54 浏览: 72
postgres数据库数据探查
您可以使用 Postgres 的正则表达式函数来实现这个需求。
假设您要查询某个表中字段 `field` 中包含字符串 `target` 的行,而且这个字段中多行数据是用逗号隔开的,您可以使用正则表达式 `'(,|^)target(,|$)'` 来匹配 `target` 的前后是否跟随着逗号。具体的查询语句可以这样写:
```
SELECT * FROM table WHERE field ~ '(,|^)target(,|$)';
```
这个查询语句会返回所有满足条件的行。其中 `~` 是 Postgres 中用于匹配正则表达式的操作符。
需要注意的是,这样的查询可能会比较慢,因为它需要对每一行数据都进行正则表达式的匹配。如果您的数据量比较大,建议您考虑对这个字段进行拆分或者使用其他的数据存储方式。
阅读全文