select mf.id, mf.face_name, mf.birth_date, CASE WHEN LENGTH(birth_date) = 15 THEN -- 15位身份证号,提取出生年份、月份、日期并计算年龄 FLOOR(DATEDIFF(CURDATE(), STR_TO_DATE(CONCAT('19', SUBSTRING(birth_date, 7, 6)), '%Y%m%d')) / 365.25) WHEN LENGTH(birth_date) = 18 THEN -- 18位身份证号,提取出生年份、月份、日期并计算年龄 FLOOR(DATEDIFF(CURDATE(), STR_TO_DATE(SUBSTRING(birth_date, 7, 8), '%Y%m%d')) / 365.25) ELSE NULL END AS age, mf.face_phone, mf.face_url, mf.is_work, mf.remark, mf.create_time,mf.use_time,mf.dept_id,d.dept_name, mf.bp_high, mf.bp_low, mf.br, mf.hr, mf.hrv, mf.spo2, mf.hd, mf.temperature from mine_face mf inner join sys_dept d on mf.dept_id = d.dept_id insert into mine_face id, face_name, birth_date, face_phone, face_url, is_work, remark, create_time, use_time, face_byte, dept_id, #{id}, #{faceName}, #{birthDate}, #{facePhone}, #{faceUrl}, #{isWork}, #{remark}, #{createTime}, #{useTime}, #{faceByte}, #{deptId}, update mine_face face_name = #{faceName}, birth_date = #{birthDate}, face_phone = #{facePhone}, face_url = #{faceUrl}, is_work = #{isWork}, remark = #{remark}, create_time = #{createTime}, dept_id = #{deptId}, use_time=#{useTime}, face_byte = #{faceByte}, where id = #{id} update mine_face bp_high = #{bpHigh}, bp_low = #{bpLow}, br = #{br}, hr = #{hr}, hrv = #{hrv}, hd = #{hd}, spo2 = #{spo2}, temperature = #{temperature}, where id = #{id} delete from mine_face where id = #{id} delete from mine_face where id in #{id}