01.sqlserver版本
使用sqlserver将数据复制n条
select
t.indx,
t.name,
tmp.vlue
from (
values(1,'苹果')
) as t(indx, name)
,(
select
[number] as vlue
from master.dbo.spt_values
where [type] = 'p'
and [number] between 1 and 10
) as tmp
spt_values是什么
spt_values是SQL Server新增的一个系统表,表里面都是一些枚举数据。 (因为该表属于系统数据库master下面,所以通常在表名前面添加库名master) **解释:但是通常我们使用的是Type='P'的数据记录,master.dbo.spt_values表的字段值为"P"的对应number字段值是从0-2047。
master.dbo.spt_values使用示例
制作日历
SELECT
CONVERT(NVARCHAR(10), DATEADD(DAY, number, '2024-01-01'), 120) AS calendar
FROM
master..spt_values
WHERE TYPE = 'P'
AND number <= DATEDIFF(DAY, '2024-01-01', '2024-01-31')
02.postgresql版本
使用sqlserver将数据复制n条
select
t.indx,
t.name,
tmp.vlue
from (
values(1,'苹果')
) as t(indx, name)
,(
select
vlue
from generate_series(1, 10, 1)tmp(vlue)
) as tmp
generate_series(start, stop, step)函数
generate_series是PostgreSQL提供的一个内置的函数,可以用在SQL语句中,生成一个数字序列和日期序列的记录集。函数generate_series(start, stop, step)的参数分别是序列开始值,序列结束值和步长值。
generate_series()日期序列 示例
SELECT * FROM generate_series('2022-01-01'::date, '2022-01-05'::date, '1 day'::interval);