【发布时间】:2012-09-15 08:26:56
【问题描述】:
我正在使用 REGEXP 来匹配 LONGTEXT 列中大量文本中的特定字符串。例如:
Text text text text text
text text text text text
text text SOLD: 75/101 text
text text text text text
所以我的查询看起来像这样:
SELECT * FROM `test` WHERE `file` REGEXP
'SOLD:[ ]{1}[0-9]{1,2,3}/[0-9]{1,2,3}'
这将正确匹配 SOLD: 75/101 字符串。
但是有可能对分子进行比较吗?比如,找到所有SOLD: >=75/101?
比较数字将是用户通过 $_POST 输入的数字。我知道 REGEXP 并不是真正用于比较数字,但有没有办法用 regexp 捕获字符串,然后以其他方式对整数进行比较?
【问题讨论】:
-
你可以创建存储过程来封装任何逻辑
-
您是否只需要考虑
76/101和123/101之类的分数,还是还必须考虑70/80(当然,它大于75/101)? -
@TimPietzcker 是的,我也必须考虑前两个。我对比较整个分数不感兴趣,只比较分子。
标签: mysql regex comparison