Sql语句中时间转换问题

因这段时间一直在做报表记录下用到的一些sql中时间转换的函数

一、毫秒值转换成日期

SELECT 
    FROM_UNIXTIME(t.csrq/1000,'%Y-%m-%d %h:%i:%s') AS stu_date
FROM
    tjry t
WHERE t.rybm='ec6f0e85-2f0b-4493-bbe0-253f6744121c'

t.cjsj是为毫秒值

转换的结果:2020-05-23 12:35:07

二、TIMESTAMPDIFF时间的使用比如获取年龄

       如果要获取天数直接将YEAR 改成DAY就行了

SELECT
IF(TIMESTAMPDIFF(YEAR,DATE_FORMAT(tjry.cjsj,'%Y-%m-%d'),DATE_FORMAT(CURDATE(),'%Y-%m-%d'))=0,1,TIMESTAMPDIFF(YEAR,DATE_FORMAT(tjry.cjsj,'%Y-%m-%d'),DATE_FORMAT(CURDATE(),'%Y-%m-%d')))
	AS age 
FROM
	tjry
WHERE tjry.rybm='ec6f0e85-2f0b-4493-bbe0-253f6744121c'