接下来我们将上面的判断逻辑封装成一个MySQL函数,以便在实际使用中能够更方便地调用。 DELIMITER//CREATEFUNCTIONIS_END_OF_MONTH(date_to_checkDATE)RETURNSBOOLEANBEGINDECLAREnext_dateDATE;DECLAREend_of_monthDATE;SETnext_date=DATE_ADD(date_to_check,INTERVAL1DAY);SETend_of_month=LAST_DAY(next_date);IFend...
3、case when … then … else … end 的用法 (1)单条件 SUM(case when isOnline=1 then 1 else 0 end) as onlineCount 1. (2)多条件 sum(CASE WHEN unit='克' THEN num/1000 WHEN unit='斤' THEN num/2 WHEN unit='公斤' THEN num ELSE num END) as salesVolume 1. 4、判断某参数是否在...
当前month的最后一天: SELECT LAST_DAY(now()) 前一month的第一天: SELECT concat(date_format(LAST_DAY(now() - interval 1 month),'%Y-%m-'),'01') 前一month的最后一天: SELECT LAST_DAY(now() - interval 1 month) 前两month的第一天: SELECT concat(date_format(LAST_DAY(now() - interval 2...
SELECT DATE_FORMAT(DATE_ADD(LAST_DAY(DATE_SUB('2022-01-15', INTERVAL 1 MONTH)), INTERVAL 1 DAY), '%Y-%m-%d') AS start_date, LAST_DAY('2022-01-15') AS end_date; 解释一下上述查询的含义: DATE_SUB('2022-01-15', INTERVAL 1 MONTH):将给定日期减去一个月,得到上个月的同一天。 LA...
SELECT vip_name,YEAR (birthday),MONTH (birthday),DAYOFMONTH(birthday) FROM vip WHERE MONTH (birthday) = MONTH(NOW()); -- DATE_ADD往后加几天日期 SELECT vip_name,birthday,DATE_ADD(birthday,INTERVAL 1 day) FROM vip; -- DATEDIFF()获取两个日期间隔的时间 ...
set next_month_day = dayofmonth(LAST_DAY(date_add(now(),INTERVAL 1 month))); if next_month < 10 then set next_month_str = concat('0',next_month); else set next_month_str = concat('',next_month); end if; while t_index <= next_month_day do ...
DAYOFMONTH(date) 返回date是一个月的第几天(1~31) DAYOFYEAR(date) 返回date是一年的第几天(1~366) DAYNAME(date) 返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE); FROM_UNIXTIME(ts,fmt) 根据指定的fmt格式,格式化UNIX时间戳ts HOUR(time) 返回time的小时值(0~23) ...
2 timestampdiff 计算时间间隔 可以month,day 3用case when 与 count(distinct) 计算人数 与留存率select a.登陆时间,count(distinct a.用户id) as 活跃用户数,count(case when 时间间隔=1 then 用户id else null end) as 次日留存数,count(case when 时间间隔=1 then 用户id else null end) as 次日留存...
timestampdiff(unit,start,end):计算两个日期之间间隔的具体时间,unit是单位: year:年。 quarter:季度。 month:月。 week:周。 day:天。 hour:小时。 minute:分钟。 second:秒数。 microsecond:微妙。 weekday(date):返回date位于一周内的索引(0是周一...6是周日)。 3.4、聚合函数 聚合函数一般是会结合sel...
DAYOFMONTH(birthday) FROM wangfalin; 【WEEK】 WEEK()函数计算日期 date 是一年中的第几周。WEEK(date,mode)函数允许指定星期是否起始于周日或周一,以及返回值的范围是否为 0~52 或 1~53。 date是要获取周数的日期。 mode是一个可选参数,用于确定周数计算的逻辑。