人大金仓,postgress 根据身份证号码年龄反查

    <select id="ageMoreList" resultType="com.huida.train.domain.TrainSignupMan">
        SELECT  s.record_id,s.name,s.id_card_type,s.id_card,s.tel,s.receipt_json,
                c.class_name as training_course_name
        FROM "train_signup_man" s
        LEFT JOIN "training_course_new" c ON s."training_course_id" = c."record_id"
        <where>
            <if test="startDate != null">
                AND s.create_time >= #{startDate}
            </if>
            <if test="endDate != null">
                AND s.create_time &lt;=#{endDate}
            </if>
            <choose>
                <when test="systemType != null and systemType!='' and systemType == 'bgtx'">
                    AND (c.system_type = #{systemType} OR c.system_type IS NULL)
                </when>
                <otherwise>
                    <if test="systemType != null and systemType!=''">
                        AND c.system_type = #{systemType}
                    </if>
                </otherwise>
            </choose>
            <if test="ageText != null and ageText != ''">
                <choose>
                    <when test="ageText == '31岁以下'.toString()">
                        AND s.id_card_type = '1'
                        AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
                        &lt;= 31
                    </when>
                    <when test="ageText == '31-40岁'.toString()">
                        AND s.id_card_type = '1'
                        AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
                        BETWEEN 31 AND 40
                    </when>
                    <when test="ageText == '41-50岁'.toString()">
                        AND s.id_card_type = '1'
                        AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
                        BETWEEN 41 AND 50
                    </when>
                    <when test="ageText == '51-60岁'.toString()">
                        AND s.id_card_type = '1'
                        AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
                        BETWEEN 51 AND 60
                    </when>
                    <when test="ageText == '60岁以上'.toString()">
                        AND s.id_card_type = '1'
                        AND EXTRACT(YEAR FROM AGE(CURRENT_DATE, TO_DATE(SUBSTRING(s.id_card FROM 7 FOR 8), 'YYYYMMDD')))
                        &gt;= 60
                    </when>
                    <otherwise>
                        AND s.id_card_type != '1'
                    </otherwise>
                </choose>
            </if>
        </where>
    </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值