欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将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);
}

 

相关标签: 字符串转换