MSSQL如何定义数组变量(mssql 定义数组)

SQL Server 的数组变量声明语法与传统变量声明语法类似,可以使用以下语言声明一个数组变量:

`DECLARE @ARRAYVARIABLE [,]`

SQL Server的数组变量的data_type必须是以下几种:

– int

– bigint

– smallint

– tinyint

– decimal

– float

– date

– char

其中整数类型和decimal类型需要使用VarBinary类型定义,而date,char,varchar类型则需要使用Varchar类型定义。

示例:

定义一个类型为int、存储10个数字的数组变量

“`SQL

DECLARE @ARRAY INT[10]


定义一个类型为date、存储3个日期的数组变量
```SQL
DECLARE @ARRAY DATE[3]

定义一个类型为varchar、存储5个字符串的数组变量

“`SQL

DECLARE @ARRAY VARCHAR[5]


定义一个类型为decimal、存储7个数字的数组变量
```SQL
DECLARE @ARRAY VARBINARY[7]

在MSSQL中,数组变量的定义必须有元素大小指定,因此每次定义时,必须把它的大小也给出来,而SQL Server 提供的数组要求的数据类型也仅有上述所列。

如果数组的大小没有被指定,有一个简单的语句可以达到类似的效果,例如对于 date 类型:

“`SQL

DECLARE @ARRAY VARCHAR(max)

SET @ARRAY=’2014-08-11, 2014-09-11, 2014-10-11′


可以看出,通过上面的代码,也可以实现类似定义数组变量的效果,但由于MSSQL数组变量无法广播,因此建议在定义数组变量时就把数组大小指定出来,达到更加高效的操作。

数据运维技术 » MSSQL如何定义数组变量(mssql 定义数组)