云数据库 GAUSSDB-数组类型:数组类型的字符串输入
数组类型的字符串输入
要把一个数组值写成一个文字常数(常量输入),将元素值用花括号括起并用逗号分隔。因此,一个数组常量的一般格式如下:
'{ val1 delim val2 delim ... }'
上述格式中的delim是元素类型的分隔符,记录在类型的pg_type表的typdelim列中。每个val可以是数组元素类型的一个常量,也可以是一个子数组。示例如下:
gaussdb=# SELECT '{1, 2, 3}'::int[] AS RESULT; result --------- {1,2,3} (1 row) gaussdb=# SELECT '{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}'::int[] AS RESULT; result --------------------------- {{1,2,3},{4,5,6},{7,8,9}} (1 row)
在任意元素值周围可以使用双引号,并且在元素值包含逗号或花括号等一些特殊字符时必须使用双引号。
示例如下:
该示例表示有一个varchar类型的数组,且一共有7个varchar元素,元素依次为:
- 包含一个空格的字符串
- 值为“NULL”的字符串
- 字符串为NULL
- 有一个\字符的字符串
- 有一个{字符的字符串
- 有一个}字符的字符串有一个,字符的字符串
gaussdb=# SELECT '{" ", "NULL", null, "\\", "{", "}", ","}'::varchar[] AS RESULT;
result
------------------------------------
{" ","NULL",NULL,"\\","{","}",","}
(1 row)
- 对于数组字符串常量输入,如果数组元素值是空字符串或者包含花括号、分隔符、双引号、反斜杠、空白或者匹配关键字NULL,则这些元素输入需要使用双引号,在元素值里包含的双引号和反斜杠时需要额外添加一个反斜杠。
- 关键字NULL不区分大小写。
- 输入会自动跳过没有使用双引号的空白。
- 一般不建议使用字符常量的方式构造数组数据,推荐使用ARRAY构造器。
- 云数据库 RDS 的实例类型有哪些
- GaussDB版本查询_华为云GaussDB的作用_高斯数据库版本查询_华为云
- 云数据库 RDS 的实例存储类型有哪些
- GaussDB数据库函数和字符串_高斯数据库优势_新建高斯数据库_高斯协议
- GaussDB数据库怎么转换类型_GaussDB安装_高斯数据库转换类型
- GaussDB版本_GaussDB数据库版本_高斯数据库版本-华为云
- 云数据库GaussDB(for MySQL)备份策略_备份类型_自动备份
- GaussDB发展计划_GaussDB产品动态_高斯数据库发展计划-华为云
- GaussDB的研发历程_GaussDB产品动态_高斯数据库研发历程-华为云
- 文档数据库服务DDS实例类型_MongoDB实例类型_华为云