?
01.sqlserver版本
使用sqlserver將數據復制n條
selectt.indx,t.name,tmp.vlue
from (values(1,'蘋果')
) as t(indx, name)
,(select[number] as vluefrom master.dbo.spt_valueswhere [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條
selectt.indx,t.name,tmp.vlue
from (values(1,'蘋果')
) as t(indx, name)
,(selectvluefrom 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);