概述
MySQL没有类似于Oracle或者HANA数据库那样有自己的递归关键字,尤其是树结构,本次针对日期查询过去或者未来多个日期
/*
[一、MYSQL日期函数树形递归输出(日)]
1、DDM日期时间递归倒序循环输出
2、dataCount:需要循环的天数;dataCount是多少就返回多少天的日期
3、用法:SELECT CORE_DDM_RECURSION_DATE(10);
4、CHENEY/2019-06-04
*/
DROP FUNCTION IF EXISTS CORE_DDM_RECURSION_DATE;
CREATE FUNCTION CORE_DDM_RECURSION_DATE(dataCount INT)
RETURNS VARCHAR(4000)
BEGIN
/*
1、DDM日期时间递归倒序循环输出
2、dataCount:需要循环的天数;dataCount是多少就返回多少天的日期
3、用法:SELECT CORE_DDM_RECURSION_DATE(10);
4、CHENEY/2019-06-04
*/
DECLARE sTemp VARCHAR(4000);
DECLARE sDateTime VARCHAR(100);
DECLARE sMonthTime VARCHAR(100);
SET sTemp = '';
SET sDateTime = '';
/*开始循环*/
WHILE dataCount > 0 DO
SELECT DATE_SUB(DATE_FORMAT(CURRENT_TIMESTAMP(),'%Y-%m-%d'),INTERVAL dataCount DAY) INTO sDateTime;
SET sMonthTime = right(sDateTime,INSTR(sDateTime,'-'));
SET sTemp = CONCAT(sTemp,sMonthTime,',');
SET dataCount = dataCount - 1;
END WHILE;
/*过滤一个特殊字符*/
SET sTemp = left(sTemp,LENGTH(sTemp)-1);
RETURN sTemp;
END;
细节说明:
/*MYSQL创建函数时:开启了 bin-log, 就必须为function指定一个参数,否则函数创建过程会认为没有实质的SQL语句就是拦截*/
set global log_bin_trust_function_creators=TRUE;
最后
以上就是愉快哑铃为你收集整理的MYSQL循环10天或者30天日期函数树形递归输出(函数)的全部内容,希望文章能够帮你解决MYSQL循环10天或者30天日期函数树形递归输出(函数)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复