MySQL编写函数生成一个指定范围的随机月份
需求
已知季度,实现给定月份范围生成一个随机月份,月份保留两位数字,不足两位的数字前填充0,即月份属于已知的季度。
如:
已知第三季度,即7-9月份,返回文本07、08、09
已知第四季度,即10-12月份,返回10、11、12
函数功能
通过范围 产生随机数
-- 生成≥2且≤10的随机数
SELECT floor( 2 +rand() * 10 - 2 + 1 );判断随机数的位数,不足两位补0
-- 正则表达
REGEXP '^.$'函数编写
DROP FUNCTION IF EXISTS `随机月份`;
CREATE DEFINER = CURRENT_USER FUNCTION `随机月份`(`m` int,`n` int)
RETURNS VARCHAR(255)
BEGIN
DECLARE temp VARCHAR(255);
DECLARE ret VARCHAR(255);
SET temp = floor(`m`+ rand() * (`n` - `m`+1));
IF temp REGEXP '^.$' THEN
SET temp = CONCAT('0',CAST(temp AS CHAR));
END IF;
RETURN temp;
END;函数调用
SELECT 随机月份(9,10);
-- 可产生随机月份:09、10
演示
相关推荐
-
「nginx」十、nginx的location配置详解2026-07-04 00:51:45 -

最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代
最清晰的mysql体系架构图 ,助你深度掌握MySQL开发管理,赢在大数据时代2026-07-04 00:21:47 -
PHP读取Excel内的图片2026-07-03 00:07:41 -
mysql:Otter跨机房数据同步(单向)2026-07-03 00:02:48 -

在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境
在windows10系统下搭建IIS+PHP+MYSQL+phpMyAdmin服务器运行环境2026-07-02 00:15:08