Skip to content

With

递归生成整数 1 到 10 。

WITH RECURSIVE t AS (
    SELECT 1 AS n
    UNION ALL
    SELECT n + 1 FROM t WHERE n < 10
)
SELECT n FROM t;
n
1
2
3
4
5
6
7
8
9
10

了解 CAST 四舍五入。

WITH RECURSIVE t (n, a, b, result) AS (
    SELECT 1 AS n, 20 AS a, 20 / 10 AS b, CAST(20 / 10 AS SIGNED INTEGER) AS result
    UNION ALL
    SELECT n + 1, a + 1, (a + 1) / 10, CAST((a + 1) / 10 AS SIGNED INTEGER) FROM t WHERE n < 21
)
SELECT * FROM t;
nabresult
1202.00002
2212.10002
3222.20002
4232.30002
5242.40002
6252.50003
7262.60003
8272.70003
9282.80003
10292.90003
11303.00003
12313.10003
13323.20003
14333.30003
15343.40003
16353.50004
17363.60004
18373.70004
19383.80004
20393.90004
21404.00004

联系 math@baima.site