将11300000转换得到113进行相应的数据查询
程序员文章站
2022-03-31 17:00:15
...
最终效果:
前提条件:传入1130030000
得到:113003
有两种方法:
方法一:
使用java的方法,得到113003这样的数据,在通过相应的查询语句如:danwei like '%113003%';
实现如下:
//传入要处理的字符串
String regionStr = "";
if (StrUtil.isNotBlank(region)) {
//将字符串进行翻转,如11300翻转得到00311
regionStr = new StringBuffer(region).reverse().toString();
//将字符串转化为Long类型,会自动将前边的0去掉,在转化为字符串
regionStr = Long.parseLong(regionStr) + "";
//将处理好的字符串再次翻转,得到如113
regionStr = new StringBuffer(regionStr.trim()).reverse().toString();
}
//去除字符串两端的空格
regionStr = regionStr.trim();
这是得到相应的字符串,在通过sql进行查询:如select * from user where suozaidi like '%region%';
方法二:
使用sql函数进行分类查询,这种的需要有相应的层级一个参数,这种的需要有固定的规则,如下:
//判断部门层级11305000000
if("11".equals(bmcc)){//省
sql.append(" and replace(djb.xzqhdm, substr(djb.xzqhdm,4,8),'00000000') = "+xzqhdm);
}else if ("31".equals(bmcc)){//市
sql.append(" and replace(djb.xzqhdm, substr(djb.xzqhdm,6,6),'000000') = "+xzqhdm);
}else if ("41".equals(bmcc)){//区县
sql.append(" and replace(djb.xzqhdm, substr(djb.xzqhdm,8,4),'0000') = "+xzqhdm);
}
上一篇: js字符转换