array() 函数
array()函数创建一个指定类型的数组。
语法
array()函数的语法如下:
array = array(int type);
type值是一个整数代码,用于指定要创建的数组类型,如下表所示:| 代码 | 类型 | 描述 |
|---|---|---|
| 1 | int1 | 8 位。 |
| 2 | int2 | 16 位。 |
| 3 | int4 | 32 位。 |
| 4 | int8 | 64 位。 |
| 5 | 日期 | 日期范围为 0001 年 1 月 1 日至 9999 年 12 月 31 日。 磁盘使用量为 4 字节。 |
| 6 | 时间 | 小时、分钟和秒,精确到小数点后六位。 范围是00:00:00.000000-23:59:59.999999。 磁盘使用量为 8 字节。 |
| 7 | 时间戳记 | 日期部分和时间部分,秒数存储到小数点后 6 位。 范围为 0001 年 1 月 1 日00:00:00.000000- 9999 年 12 月 31 日23:59:59.999999。 磁盘使用量为 8 字节。 |
| 8 | varchar | 长度可变,最大长度为 64 000 个字符。 没有空白填充;数据按输入内容存储。 对于长度为n 的 varchar 字符串,磁盘使用量不超过n+ 2 字节。 |
| 9 | NVARCHAR | 长度可变的 Unicode 数据,最大长度为 16 000 个字符。 使用UTF-8编码时,每个 Unicode 代码点需要 1 - 4 字节的存储空间。 因此,如果是 ASCII 字符串,一个 10 个字符的字符串需要 10 字节的存储空间;如果是拉丁字符串,则需要多达 20 字节的存储空间;如果是纯汉字字符串,则需要多达 40 字节的存储空间(但通常为 30 字节)。 |
| 10 | 浮点 | 精度为 1 - 15 的浮点数。 精度小于 6 时使用 4 个字节。 精度为 7 - 15 时使用 8 个字节。 |
| 11 | 双精度值 | 相当于精度为 15 的浮点数值,使用 8 个字节。 |
| 15 日 | TIMETZ | 小时、分钟、秒至小数点后 6 位,以及与格林尼治标准时间的时区偏移。 |
退货
该函数创建指定类型的数组。示例
请考虑以下示例:
create table array_t(col1 int,col2 varchar(100));
CREATE TABLE
下面的 INSERT 查询创建了一个int2类型的数组并将其存储在表中:
insert into array_t values(1,array(2));
INSERT 0 1
下面的查询显示创建了一个数组并将其存储在 array_t 表中:
select * from array_t;
col1 | col2
------+------
1 | ARR
(1 row)