【问题标题】:How to put consecutive numbers into table for SQL not one by one [duplicate]如何将连续数字放入SQL表中,而不是一个一个地[重复]
【发布时间】:2013-10-14 21:13:37
【问题描述】:

使用下面的代码制作一个包含一列的表格:

1
2
3
4
5
6
7
CREATE TABLE abc (a VARCHAR(8));
INSERT INTO abc VALUES(1),(2),(3),(4),(5),(6),(7)

但是我们如何使用 using (1),(2),(3),(4),(5),(6),(7) 的方法,我的意思是仅像 1:7 这样的方法?

【问题讨论】:

  • 为什么要在字符串列中存储一个整数?
  • 也许您可以更清楚地解释您的问题。即 a) 您正在使用 (1)、(2) 等,b) 1:7 是什么意思?
  • 为什么选择 MySQL @Fresh?这也是有效的 SQL Server(例如)语法...
  • @Ben 我会在 MySQL 上投入 5 美元。

标签: sql


【解决方案1】:

有人说recursion??

with rec as (
    select 1 i
    union all
    select i+1 from rec where i < 7
)
select * from rec

【讨论】:

    【解决方案2】:

    如果我没记错的话,您正在寻找一种方法在单个批次的列中插入一组 INT 值。例如“在 A 列中插入 100 个身份”。 没有预定义的 SQL SERVER 函数。但是您可以使用任何您确定有足够数量的行的系统表来解决。

        SELECT rownum
        FROM
        (
            SELECT name,ROW_NUMBER() OVER (ORDER BY name) rownum
            FROM sysobjects so
        )q
        WHERE rownum <= 7
    

    【讨论】:

      猜你喜欢
      • 2020-03-22
      • 1970-01-01
      • 2020-12-20
      • 2014-09-13
      • 2020-02-10
      • 1970-01-01
      • 2013-01-21
      • 2015-03-04
      • 1970-01-01
      相关资源
      最近更新 更多