TSQL表变量初始化

Cod*_*lus 16 sql t-sql lookup-tables table-variable

我有以下TSQL表变量:

declare @NumDaysMonth table
(
   month_id smallint,
   num_days smallint
)
Run Code Online (Sandbox Code Playgroud)

我只想快速查看每个月的天数.如何像C数组一样初始化此表:

int numDaysMonth[] = {31, 28, 30, ... , 31};
Run Code Online (Sandbox Code Playgroud)

Con*_*rix 27

嗯,你不能.你能做的最好的就是这样的

Insert Into @NumDaysMonth
Values 
(1,31),
(2,28),
(3,31),
...
(12,31);
Run Code Online (Sandbox Code Playgroud)

然后检索可能是这样的

DECLARE @LookItUp int

SELECT @LookItUp = num_days 
FROM @NumDaysMonth
WHERE month_Id = 12;

PRINT @LookItUp 
Run Code Online (Sandbox Code Playgroud)

SQL小提琴演示

  • 实际上,根据你的答案,我会说你_can_,它只是有不同的语法,并且索引不像C中那样暗示. (2认同)