如何在Mysql中使用带有BETWEEN子句的字母数字字段?

时间:2014-09-15 07:23:42

标签: mysql between alphanumeric clause

我有一个包含字段名称为mgrs的表,存储在mgrs字段中的值类似于'42SWC227821555'可能包含更多字符,并且可能包含小写字母。所以现在我想搜索两毫克之间的记录,那么我该怎么做呢?我可以先将mgrs值转换为整数然后在子句之间使用吗?

3 个答案:

答案 0 :(得分:2)

而不是BETWEEN子句使用STRCMP(expr1, expr2)函数进行字符串比较操作:

WHERE STRCMP(mgrs, '42SWC227821555') >= 0 AND STRCMP(mgrs, '42SWC227821570') <= 0

答案 1 :(得分:0)

我会列出一些步骤,而不是完整的答案。

  1. 从您的值中删除所有字母,意味着您可以使用this link上列出的功能再添加一个自定义列
  2. 在此列上应用过滤器。

答案 2 :(得分:0)

您可以在BETWEEN比较中使用字符串表达式。

SELECT '42SWC2278215551' BETWEEN '42SWC227821555' AND '42SWd227821555'
-> 1