MySQL如何喜欢1位数

kpbwa7wx  于 2023-01-04  发布在  Mysql
关注(0)|答案(3)|浏览(105)

我有这样的记录:

Number
1, 2
1, 24

如何通过LIKE只选择2,而不是2和24

SELECT * FROM test WHERE number LIKE '%2%'

1、2//只需要此记录
1、24

lsmepo6l

lsmepo6l1#

你应该避免像这样存储非标准化的CSV数据。也就是说,如果你必须继续,这里有一个方法:

SELECT * 
FROM test
WHERE CONCAT(' ', number, ' ') LIKE '% 2 %';
aamkag61

aamkag612#

find_in_setalmost可以满足您的要求,但您必须删除空格才能使用它:

SELECT * 
FROM   test
WHERE  FIND_IN_SET('2', REPLACE(number, ' ', '')) > 0
u0sqgete

u0sqgete3#

您可以按以下步骤操作:

SELECT `number`
FROM `test` 
WHERE TRIM(SUBSTRING_INDEX(`number`, ',', -1)) = 2 or TRIM(SUBSTRING_INDEX(`number`, ',', 1)) = 2;

SUBSTRING_INDEX来拆分数字,TRIM来删除任何空格,然后我们搜索数字的各个部分。

相关问题