mysql编程,编写一个函数用于取得随机姓名

//sql编程,编写一个函数用于取得随机姓名

delimiter $$
create function getName(n int) returns varchar(5) charset utf8
begin
    -- 声明变量应该在最前面
    declare allow_xing char(28) default '赵钱孙李周吴郑王';
    declare allow_ming char(34) default '花花飞飞猪猪蝙蝠侠金刚侠悟空';
    -- declare allow_xing char(8) default 'qazwsxed';
    -- declare allow_ming char(14) default '123456789bnm';
    declare xing char(1);
    declare ming varchar(4) default '';
    declare i int(1) default 1;
    -- 判断n的范围
    if !(n between 2 and 4) then
      return 0;
    end if;
    -- 取得姓
    set xing=substring(allow_xing,floor(rand()*8)+1,1);
    -- 取得名
    -- 循环取得每个名字
    while i<=n-1 do
      set ming=concat(ming,substring(allow_ming,floor(rand()*14)+1,1));
      set i=i+1;
    end while;
    return concat(xing,ming);
end
$$
delimiter;

设置编码格式和数据库存储格式一致就能解决中文字段不显示的问题,一般设置为charset utf8 

原文地址:https://www.cnblogs.com/xiaogou/p/9166079.html