age是前面业务中获取到需要比较的时间。
TIMESTAMPDIFF函数,有参数设置,可以精确到年(YEAR)、天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),对于比较的两个时间,时间小的放在前面,时间大的放在后面。
<!--查询申请人-->
<select id="selectApplyUser" parameterType="java.util.HashMap" resultMap="UserMap">
select u.id, u.mobile, u.sex, u.birthday, u.avatar, u.nick, u.state, u.start_offer_date, u.mini_open_id, u.mp_open_id,
u.union_id, u.last_login_time, u.reg_time, u.reg_province, u.reg_city, u.reg_ip, u.channel, u.whether_complete_information,
u.point, u.create_time,TIMESTAMPDIFF(YEAR,u.birthday,now()) age
from adopt_publish publish
inner join adopt_apply apply on apply.publish_id = publish.id
inner join user_user u on apply.apply_uid = u.id
where publish.id = #{id,jdbcType=INTEGER}
datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。
– 相差2天
select datediff(‘2020-03-22 09:00:00’, ‘2020-03-20 07:00:00’);