首页 > 解决方案 > 在列中搜索字符串

问题描述

谁能帮我。我在 mysql 中有一个数据库,需要在特定列中搜索字符串。

该字段为var char,包含各种序列号,除以字符“/”。

例子

613003593/8876572/TJMC49

问题是在字符串中搜索。如果我使用 like,它会在大多数情况下工作,但并非总是如此,因为如果我这样做like '%13003593%' ,它将返回一行,当那不是真的时,保存的值为 613003593。我如何搜索字符串。

在示例中,有 3 个字符串被分割,我需要搜索所有这些字符串。

为我的英语道歉

标签: mysqlstring

解决方案


对于序列号的第一部分,

SELECT * FROM  table_name
    WHERE SUBSTRING_INDEX(serial_number, '/', 1) = '613003593';

对于第 2 部分,

SELECT * FROM table_name
    WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(serial_number, '/', 2), '/', -1)='8876572';

对于最后一部分,

SELECT * FROM table_name
    WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(serial_number, '/', 3), '/', -1)='TJMC49';

检查如何在 MySQL 中以逗号分隔的字符串进行拆分和搜索


推荐阅读