MYSQL随机产生指定范围的字符串

函数

DELIMITER $$

USE `数据库名字`$$

DROP FUNCTION IF EXISTS `rand_string`$$

CREATE DEFINER=`root`@`%` FUNCTION `rand_string`(var_string TEXT) RETURNS TEXT CHARSET utf8
BEGIN
#根据逗号分隔字符串,统计有多少个字符串。
SET @num= LENGTH(var_string)-LENGTH(REPLACE(var_string,',',''))+1;
#随机生成位置
SET @index= FLOOR(RAND()*@num)+1;
#开始截取
SET @rand_start =SUBSTRING_INDEX(var_string,',',@index);
SET  @rand_end =SUBSTRING_INDEX(@rand_start,',',-1);
RETURN @rand_end ;
    END$$

DELIMITER ;

调用

SELECT `rand_string`("一班,二班,三班,四班,五班") rand_string

结果

你可能感兴趣的:(MySQL)