cyyking 2020-07-04
日期时间格式化
#结果为:时分秒格式 timediff("12:13:45","10:13:45"),timediff("12:13:45","15:23:25") , #前者-后者,可能会返回负数 # 结果:天数 datediff(now(),"2020-07-01"), datediff(now(),"2020-08-12"), #这个不考虑时间,只计算天数的差值 #计算加一个数后的年月,计算两个年月之间相差的月数 period_add(202008,17), period_add("202009",1), period_diff(202009,201904) #前者-后者
#注意前者月份是阿拉伯数字,所以格式里是%m,但后者月份是英文形式,所以格式里使用%M #格式里年月日的顺序要跟字符串中对应 str_to_date("5 24 2019" ,"%m %d %Y") as a, STR_TO_DATE("August 10 2017", "%M %d %Y") as b
结果
第二个参数只有1个数字时,是当做秒数计算的,而后面指定minute, day都报错
暂时还不清楚有什么用
makedate(year, 天数) #根据指定的天数,返回指定年份的日期 maketime(hour, minute, second) #组合成一个时间
举例
函数: 注意后面的几个函数括号可以省略
select now(), sysdate(), #必须带着括号 localtime, localtime(), # 返回结果都是当前日期时间格式,后面的这几种括号可有可无 localtimestamp, localtimestamp(), current_timestamp, current_timestamp();
结果:
日期: curdate( ), current_date( ) 时间:curtime( ),current_time( )
adddate(now(),3),subdate(now(),-3), adddate(now(),-3), subdate(now(),3), # 可使用负数,adddate用负数代表减去几天,subdate使用负数代表加上几天 adddate(now(),interval 10 minute),subdate(now(),interval 10 minute) # adddate, subdate也可以指定参数interval date_add(now(),interval 3 day),date_sub(now(),interval 3 day) # 使用date_add和date_sub必须带上参数Interval n 单位类型
subtime(now(),3), addtime(Now(),10)