首页 > 解决方案 > 如何计算mysql中两个字母数字字符串之间的差异

问题描述

在上图中,stud_roll1 是起始 rollno,stud_roll2 是结束
rollno。如何计算 rollno 之间的值。例如:16un01 是 stud_roll1,16un04 是结尾 rollno,我的问题的结果是 16un01,16un02,16un03,16un04。我怎样才能得到结果?

标签: phpmysql

解决方案


试试这个:

SET @first_value = (SELECT SUBSTRING("16un01", 5,2));
SET @second_value = (SELECT SUBSTRING("16un04", 5,2));
SET @counter = @first_value;
WHILE @counter <= @second_value DO
    SELECT CONCAT("16un",LPAD(@counter,2,"0")) 16un;
    SET @counter = @counter + 1;
END WHILE;

我在@first_value 和@second_value 上创建了一个存储过程,您可以获得最小值和最大值(显然通过查询),我将字符串划分并放入一个值。在我将范围的值放入存储过程并运行它时,这些值将是16un01、16un02、16un03、16un04


推荐阅读