我想知道 MySQL 中是否有一个像 generate_series 这样的函数,它通常接受一个起始整数值、一个结束整数和一个增量,并返回一个包含开始和结束之间的所有值的数组。如果没有这样的函数,如何在 MySQL 中声明它?
最佳答案
没有这样的功能。 MySQL 不支持返回表的用户定义函数,因此您不能定义自己的函数。在 v8+ 中,您可以使用递归 CTE 生成数字。
但是,最简单的方法可能是定义您自己的numbers
表。另一种选择是使用任何旧的大表并执行类似的操作:
select (@rn := @rn + 1) as num
from bigtable t cross join
(select @rn := 0) params
limit 100; -- however many numbers you want
当然,bigtable
必须有足够的行来容纳您要生成的数字。
关于mysql - MySQL 中是否有类似的 generate_series 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51735907/