有一个最小值和最大值,数据库也是设计成两个字段,最大和最小,sql怎么根据用户输入范围搜索

前端输入 :长度:100 - 200
后台:
数据库最小长度 minLen、最大长度maxLen
sql 怎么搜

阅读 2.5k
3 个回答

这个输入如果没有‘-’呢 你怎么搞

//假设你能保证前端一定有'-'符号,下面代码用的php
$str = '100 - 200';
$arr = explode('-',$str);
if($arr[0] > $arr[1])
{
    $min = (int)$arr[1];
    $max = (int)$arr[0];
}else{
    $min = (int)$arr[0];
    $max = (int)$arr[1];
}
//sql条件
select * from sql where minLen >= $min and maxLen <= $max;

首先你没有说后台是使用的哪种语言,所以就不说语言的写法了,权当直接数据库操作。mysql 数据库有相关的字符截取和字符拆分函数,你可以使用对应的函数进行截取拆分,然后进行使用就好。不过个人建议还是通过后端处理,生成合理的 sql 语句再进行查询比较合适。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题