SEQUENCE_TABLE (n)的功能¶
雷竞技下载官网用于MySQL的Percona服务器8.0.20-11添加了SEQUENCE_TABLE()函数。
一个数列可以定义为等差数列,即两个连续项之间的公差总是相同的。
该函数是一个内联表值函数。一个SELECT语句生成一个多行结果集。相比之下,标量函数(如EXP (x)或低(str)总是返回特定数据类型的单个值。
的JSON_TABLE ()是Oracle MySQL Server中唯一可用的表函数。JSON_TABLE和SEQUENCE_TABLE ()是Percona Server中唯一可用的表函数。雷竞技下载官网
基本语法如下:
- SEQUENCE_TABLE(n) [AS]别名
使用¶
预期的输出
SELECT…FROM SEQUENCE_TABLE(n) [AS] alias SEQUENCE_TABLE(n>) [AS] alias
护士:生成的值的数量。
结果集是一个具有预定义列名的单列价值类型的长整型数字无符号。你可以参考价值列选择语句。以下陈述是有效的。
选择*从SEQUENCE_TABLE(n)作为tt;选择<expr(价值)>从SEQUENCE_TABLE(n)作为tt;
级数的第一个数,即初始项,定义为0级数最后的值小于n。在本例中,输入以下语句生成序列:
mysql >选择*从SEQUENCE_TABLE(3.)作为tt;
预期的输出
+-------+ | 价值 | +-------+ | 0 | | 1 | | 2 | +-------+
属性定义初始项在哪里条款。下面的示例以4。
选择价值作为结果从SEQUENCE_TABLE(8)作为tt在哪里价值> =4;
预期的输出
+--------+ | 结果 | +--------+ | 4 | | 5 | | 6 | | 7 | +--------+
连续项的增加或减少是由于相同的差异。默认的公共差值为1。但是,可以使用WHERE子句来过滤结果,以模拟大于1的公共差异。
下面的例子只打印0..7范围:
选择价值作为结果从SEQUENCE_TABLE(8)作为tt在哪里价值%2=0;
预期的输出
+--------+ | 结果 | +--------+ | 0 | | 2 | | 4 | | 6 | +--------+
下面是使用该函数用一组随机数填充表的示例:
mysql >选择地板上(兰德()*One hundred.)作为结果从SEQUENCE_TABLE(4)作为tt;
输出可能如下:
预期的输出
+--------+ | 结果 | +--------+ | 56 24 | | | | 70 | | 25 | +--------+
你可以用下面的语句用一组伪随机字符串填充一个表:
mysql >选择MD5(价值)作为结果从SEQUENCE_TABLE(4)作为tt;
预期的输出
+----------------------------------+ | 结果 | +----------------------------------+ | e5751b7cfd7f053cd29e946fb2649a4 f17d9c990f40f8ac215f2ecdfd7d0451 | | 2 | | b026324c6904b2a9cb4b88d6d61c81d1 | | 26 ab0db90d72e28ad0ba1e22ee510510 | +----------------------------------+
您可以将序列作为列添加到新表或现有表中,如下例所示:
mysql >创建表格t1作为选择*从SEQUENCE_TABLE(4)作为tt;mysql >选择*从t1;
预期的输出
+-------+ | 价值 | +-------+ | 0 | | 1 | | 2 | | 3 | +-------+
在填充表时,序列有很多用途。
最近更新:2023-01-12