我是靠谱客的博主 愉快哑铃,最近开发中收集的这篇文章主要介绍MYSQL循环10天或者30天日期函数树形递归输出(函数),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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天日期函数树形递归输出(函数)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部