mybatis根据数字模糊查询 pgsql integer

今天有个需求,要求根据一个字段模糊查询,这个字段是数字类型
java里面的类型是 BigDecimal 没办法直接像字符串一样拼接
所以用到了 concat 和 cast 特此记录一下

	select * from rm_bureau_standing  where   cast(id as varchar(255)) like '%33173010000000000794307%';

还有种写法

select * from aaa a where  a.org_code ||'' like '86%';--推荐使用这种,简单,一看就是高手写出来的

参考博客园一位大哥写的 妈的 真牛逼 真是学到老 活到老

参考链接

mybatis 写法

<select id="getListBureauPage"  parameterType="com.asiainfo.irp.service.resource.districts.param.RmBureauStandingParam"
                                    resultType="com.asiainfo.irp.service.resource.districts.model.RmBureauStandingModel">
        select
        rbs.*
        from
            rm_bureau_standing rbs
                left join rm_area ra
                          on
                              rbs.region_id = ra.id
        <where>
            <if test="id != null">
                cast(rbs.id as varchar(255)) like concat('%',#{id}, '%')
            </if>
        </where>
        limit #{limit} OFFSET #{page}
    </select>

运行结果

 select count(distinct rbs.id)
 FROM rm_bureau_standing rbs
 LEFT JOIN rm_area ra
 ON rbs.region_id = ra.id
 WHERE cast(rbs.id as varchar(255)) like concat('%',331730100000000007943073, '%');

永远不要相信苦难是值得的。苦难就是苦难,苦难不会带来成功。苦难不值得追求。磨练意志是因为苦难无法躲避开

你可能感兴趣的:(java,基础,sql,mybatis,sql,java)