擅长:python、mysql、java
<p>根据注释,您的字段是一个字符串,其中包含您在上面描述的表单的范围。在</p>
<p>首先,这是糟糕的数据库设计。最小值和最大值应该是整数类型的单独列。<em>在ESRI more上挥拳反对良好的数据库设计</em></p>
<p>此外,你的规则不足以处理一个范围。范围检查需要与范围的一端或两端进行比较。因此,您将<strong>有</strong>来明确您想要的“索引”规则。在</p>
<p>假设您有表示范围的字符串,那么您唯一的选择就是将范围解析为其最小值和最大值,并使用它们。在Python中这并不难:</p>
<pre><code>>>> r = "3 - 6"
>>> r_min, r_max = (int(s.strip()) for s in r.split('-'))
>>> r_min
3
>>> r_max
6
</code></pre>
<h2>这是干什么的?在</h2>
<p>其实很简单。它按<code>-</code>拆分字符串。然后循环生成的列表,每个元素的前导空格和尾随空格都被删除,然后转换成<code>int</code>。最后,Python解压右侧的生成器以填充左侧的变量。在</p>
<p>请注意,格式错误的数据会导致错误。在</p>
<p>一旦你阐明了你的“索引”规则,你就可以知道如何使用这个最小值和最大值来获得你的“索引”。在</p>