我基于特定列中的特定字符从MySQL
数据库中发现SELECT
ing的问题。该列包含一个带有1和0的字符串。示例字符串: 0101000000
。根据列中的特定字符从数据库中选择行
我需要SELECT
仅是这个样子的行(X是通配符):X1X1X0XXXX
如何做到这一点有SELECT
查询?我相信这并不难。
诚恳,
阿克塞尔·拉特瓦拉
我基于特定列中的特定字符从MySQL
数据库中发现SELECT
ing的问题。该列包含一个带有1和0的字符串。示例字符串: 0101000000
。根据列中的特定字符从数据库中选择行
我需要SELECT
仅是这个样子的行(X是通配符):X1X1X0XXXX
如何做到这一点有SELECT
查询?我相信这并不难。
诚恳,
阿克塞尔·拉特瓦拉
如果这个关口是一个字符串,那么你应该能够配合行:
myRow LIKE '_1_1_0____'
如果它只是0和1,你要存储(它是二进制的),那么你应该将它转换为INT
并使用位掩码来查询表。这种方法将使用更少的存储空间并且速度更快,但实现起来会更复杂。
MySQL的模式匹配DOC:http://dev.mysql.com/doc/refman/5.1/en/pattern-matching.html
谢谢!创造奇迹! – 2012-01-04 18:09:11
没问题。值得注意的是,我认为MySQL没有任何方法可以为这个查询使用索引,所以如果最终得到数十万甚至数百万行,它不会很快。 – 2012-01-04 18:10:40
你可以看到人物在谷歌取代对单个字符容易。任何字符的通配符都是Underscore(“_”)。 – 2012-01-04 18:04:01