gpt4 book ai didi

mysql - 查找 sql 列中具有特定数字/字符串的所有用户

转载 作者:行者123 更新时间:2023-11-29 13:32:23 24 4
gpt4 key购买 nike

我有一个名为“users”的数据库表,其中有一列名为“alerts”。警报列按以下顺序包含逗号分隔的数据;

UserA -> 2314|1,2315|1,2316|3
UserB -> 4235|2,2315|1,2314|3
UserC -> 342|5,2314|1,2316|3

如果我拆分逗号,然后用斜杠分隔值,那么;

2314 = pid
1 = uid

如果我想搜索具有特定 pid 的所有用户,例如第2314章

最佳答案

从表面上看,您会搜索 ',2314|',但问题是值开头的数字前面没有逗号。

有3种方法可以解决这个问题。

分别处理开始情况和中间情况:

select * from users
where alerts like '2314|%'
or alerts like '%,2314|%'

通过在值的开头添加逗号来组合大小写,使其看起来像中间大小写:

select * from users
where concat(',', alerts) like '%,2314|%'

使用正则表达式来组合大小写:

select * from users
where alerts rlike '(^|,)2314\|'
<小时/>

最好重新设计您的表格,创建一个新表格来处理您塞入一列的多对多关系。

关于mysql - 查找 sql 列中具有特定数字/字符串的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com