2012-01-04 38 views
0

我基于特定列中的特定字符从MySQL数据库中发现SELECT ing的问题。该列包含一个带有1和0的字符串。示例字符串: 0101000000根据列中的特定字符从数据库中选择行

我需要SELECT仅是这个样子的行(X是通配符):X1X1X0XXXX

如何做到这一点有SELECT查询?我相信这并不难。

诚恳,

阿克塞尔·拉特瓦拉

+0

你可以看到人物在谷歌取代对单个字符容易。任何字符的通配符都是Underscore(“_”)。 – 2012-01-04 18:04:01

回答

0

如果这个关口是一个字符串,那么你应该能够配合行:

myRow LIKE '_1_1_0____' 

如果它只是0和1,你要存储(它是二进制的),那么你应该将它转换为INT并使用位掩码来查询表。这种方法将使用更少的存储空间并且速度更快,但实现起来会更复杂。

MySQL的模式匹配DOC:http://dev.mysql.com/doc/refman/5.1/en/pattern-matching.html

+0

谢谢!创造奇迹! – 2012-01-04 18:09:11

+0

没问题。值得注意的是,我认为MySQL没有任何方法可以为这个查询使用索引,所以如果最终得到数十万甚至数百万行,它不会很快。 – 2012-01-04 18:10:40

相关问题