CREATE DEFINER=`root`@`%` FUNCTION `datediff_fisrt_date_after_date`(fisrt_date VARCHAR(200)CHARSET utf8,after_date VARCHAR(200)CHARSET utf8) RETURNS varchar(50) CHARSET utf8
NO SQL
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE j INT DEFAULT 0;
DECLARE is_return INT DEFAULT 0;
DECLARE fisrt_date_temp VARCHAR(50) DEFAULT '';
DECLARE after_date_temp VARCHAR(50) DEFAULT '';
DECLARE return_days VARCHAR(50) DEFAULT '';
SET fisrt_date_temp = REPLACE(SUBSTR(fisrt_date,1+LENGTH(SUBSTRING_INDEX(fisrt_date,',',0)),LENGTH(SUBSTRING_INDEX(fisrt_date,',',1))),',','');
WHILE fisrt_date_temp != '' DO
set j = 0;
SET after_date_temp = REPLACE(SUBSTR(after_date,1+LENGTH(SUBSTRING_INDEX(after_date,',',0)),LENGTH(SUBSTRING_INDEX(after_date,',',1))),',','');
WHILE after_date_temp != '' DO
SET j = j + 1;
SET return_days = DATEDIFF(str_to_date(fisrt_date_temp, '%m/%d/%Y'),str_to_date(after_date_temp, '%m/%d/%Y'));
IF return_days <= '1' AND return_days >= '-1' THEN
SET is_return = '1';
RETURN 1;
END IF ;
SET after_date_temp = REPLACE(SUBSTR(after_date,2+LENGTH(SUBSTRING_INDEX(after_date,',',j)),LENGTH(SUBSTRING_INDEX(after_date,',',1))),',','');
END WHILE;
SET i = i + 1;
SET fisrt_date_temp = REPLACE(SUBSTR(fisrt_date,2+LENGTH(SUBSTRING_INDEX(fisrt_date,',',i)),LENGTH(SUBSTRING_INDEX(fisrt_date,',', 1))),',','');
END WHILE;
IF is_return = 0 THEN
RETURN '999';
END IF ;
END
#例如datediff_fisrt_date_after_date('11/30/2021,11/13/2021,11/30/2021,11/30/2021,','11/31/2020,11/30/202011/31/2020,11/30/2020,11/31/2020,11/30/202011/31/2020,11/30/2021,')