Mysql 根据列中的特定字符从数据库中选择行

Mysql 根据列中的特定字符从数据库中选择行,mysql,select,substr,Mysql,Select,Substr,我在根据特定列中的特定字符从MySQL数据库中选择内容时遇到问题。此列包含带1和0的字符串。示例字符串: 0101000000 我只需要选择看起来像X是通配符的行:X1X1X0XXXX 如何使用SELECT查询执行此操作?我肯定没那么难 诚恳地 Axel Latvala如果此列是字符串,则您应该能够将行与以下内容匹配: myRow LIKE '_1_1_0____' 如果存储的是二进制的0和1,那么可能应该将其转换为INT,并使用位掩码查询表。这种方法使用的存储空间要少得多,速度也要快得多,但

我在根据特定列中的特定字符从MySQL数据库中选择内容时遇到问题。此列包含带1和0的字符串。示例字符串: 0101000000

我只需要选择看起来像X是通配符的行:X1X1X0XXXX

如何使用SELECT查询执行此操作?我肯定没那么难

诚恳地


Axel Latvala

如果此列是字符串,则您应该能够将行与以下内容匹配:

myRow LIKE '_1_1_0____'
如果存储的是二进制的0和1,那么可能应该将其转换为INT,并使用位掩码查询表。这种方法使用的存储空间要少得多,速度也要快得多,但实现起来要复杂得多


MySQL的模式匹配文档:

您可以在google中轻松看到单个字符的字符替换。任何字符的通配符都是下划线。没问题。值得注意的是,我不认为MySQL有任何方法可以使用索引进行此查询,因此如果您最终得到数十万或数百万行,那么它不会很快。