DELIMITER $$ 
  CREATE 
  FUNCTION `t_girl` . `func_rand_string` ( f_num tinyint unsigned , f_type tinyint unsigned ) 
  RETURNS varchar ( 32) 
  BEGIN 
  -- Translate the number to letter. 
  -- No 1 stands for string only. 
  -- No 2 stands for number only. 
  -- No 3 stands for combination of the above. 
  declare i int unsigned default 0; 
  declare v_result varchar ( 255) default '' ; 
  while i < f_num do 
  if f_type = 1 then 
  set v_result = concat ( v_result, char ( 97+ ceil( rand ( ) * 25) ) ) ; 
  elseif f_type= 2 then 
  set v_result = concat ( v_result, char ( 48+ ceil( rand ( ) * 9) ) ) ; 
  elseif f_type= 3 then 
  set v_result = concat ( v_result, substring ( replace ( uuid ( ) , '-' , '' ) , i+ 1, 1) ) ; 
  end if; 
  set i = i + 1; 
  end while; 
  return v_result; 
  END $ $ 
  DELIMITER ;

 

 

調用方法示例:

 

select func_rand_string(12,3);
 
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()