某列中的字符串按逗号(,)分隔. 如 值 1:aa, bb, cc, 值 2: bb,cc, 值 3: dd,hh, 值 4: jj
查询 bb, dd 时如何把值 1,值 2,值 3 都查询出来
查询 bb, dd 时如何把值 1,值 2,值 3 都查询出来
|
U7Q5tLAex2FI0o0gMay 15, 2020
1
FIND_IN_SET
|
|
wangyanruiMay 15, 2020
2
是我太菜了吗,不是 LIKE '%bb%' 嘛 0.0
|
|
opengpsMay 15, 2020 via Android
3
@wangyanrui 换成字符串截取判断索引值效果更佳
|
|
YangXianMay 15, 2020
4
find_in_set 就行了
|
|
U7Q5tLAex2FI0o0gMay 15, 2020
5
@wangyanrui #2 值 5: aa,bbb,cc 也会被你查出来,但不对
|
|
asAnotherJackMay 15, 2020
6
@littleylv #1 学到了,另外 FIND_IN_SET 除了处理逗号分隔,有办法处理其他分隔符吗,比如用分号分隔的有什么好的办法吗
|
|
7
@asAnotherJack #6 The second parameter haystack is a list of comma-separated strings that to be searched.
只能处理逗号,分号的话,可以考虑 REPLACE 替换成逗号再 FIND_IN_SET FIND_IN_SET('bb', REPLACE('aa;bb;cc', ';', ',') ) |
|
dongiskingMay 15, 2020
8
FIND_IN_SET,bb or hh
|
|
asAnotherJackMay 15, 2020
9
@littleylv #7 多谢
|
|
10
@littleylv @dongisking 你们的意思是附言 1 那样吧
|
|
dongiskingMay 15, 2020
11
@su2018 是
|
|
wangyanruiMay 16, 2020
12
@littleylv 可以存 ,aa,bb,cc, 这种数据,然后 LIKE '%,bb,%'; 手动 doge
|
|
thinkmoreMay 18, 2020
13
如果在 mongodb 中这种查询就非常 easy,
|