使用比较和喜欢来从表中获取结果

时间:2018-11-27 08:15:30

标签: mysql spring spring-data-jpa

下面是我的表结构

Mobile_Number_Start  | Mobile_Number_End 
005555               | 006565
016565               | 017575
018585               | 019595

现在,我必须根据用户输入手机号码的开始还是结束来搜索记录。他还可以在任一列中输入数字,但不能输入完整的数字

假设用户输入01,则记录表将输出显示为

Mobile_Number_Start | Mobile_Number_End 
016565              | 017575
018585              | 019595

因此,我无法创建有效的查询 这是我的查询内容

Select * from table_name where mobile_number_start is less than  value entered in start and mobile_number_end is greater than value in mobilenumberend

我已经通过构建规范构建器类并使用

中的规范来使​​用存储库的findall函数执行了此操作
findAll(specification)

当用户输入手机号码的一部分而不是完整的电话号码时,我在写查询时需要帮助

3 个答案:

答案 0 :(得分:0)

您可以在查询中使用 Like 运算符

SELECT * 
FROM table_name 
WHERE mobile_number_start LIKE '01%' and mobile_number_end LIKE '%01'

答案 1 :(得分:0)

尝试这个。

 SELECT * 
 FROM table_name 
 WHERE CAST(mobile_number_start as CHAR) LIKE '01%' 
 and CAST(mobile_number_end as CHAR) LIKE '%01'

答案 2 :(得分:0)

您可以使用like运算符进行比较,

        SELECT * FROM table  WHERE start_number LIKE '1%' and end_number  LIKE '%1';