opengauss数据类型
时间: 2025-01-06 18:33:14 浏览: 7
### openGauss 支持的数据类型列表及说明
#### 1. 字符串类型
- **text**: 变长字符类型,存储任意长度的字符串。
- **varchar(n)**: 变长字符类型,最大长度由参数`n`定义。
- **char(n)**: 定长字符类型,固定长度为`n`。
对于 `tsvector` 类型,这是一种用于全文搜索的特殊向量类型。例如:
```sql
SELECT 'The Fat Rats'::tsvector;
```
这将返回 `'Fat' 'Rats' 'The'`[^1]。
#### 2. 数值类型
- **int/p integer/l bigint/s smallint/t tinyint**: 整数类型,分别表示不同大小范围内的整数值。
- **numeric(p,s)/decimal(p,s)**: 高精度浮点数,其中`p`代表总位数,`s`代表小数部分的位数。
- **real/double precision**: 浮点数类型,提供单精度和双精度两种形式。
特别提到的是微整数(tinyint),当其作为 JDBC 的 getObject 接口的一部分时,在 n 为 1 的情况下会被自动转换成 boolean 返回给应用程序开发者,除此之外并无其他显著用途,取值范围限定于 1 至 255之间[^4]。
#### 3. 时间日期类型
- **date/time/interval/timestamp with time zone/timestamp without time zone**: 提供多种时间戳处理方式,满足不同的应用场景需求。
#### 4. 特殊类型
- **bytea**: 表示变长的二进制字符串。值得注意的是,如果某列为加密列且采用确定性的加密方法,则该列的真实数据类型应被理解为带有特定属性的 bytea 类型——即 BYTEAWITHOUTORDERWITHEQUALCOL[^2]。
- **xml**: XML 文档可以作为一个整体存入此类型的字段内。创建包含此类字段的表格以及插入相应的 XML 数据非常直观简单:
```sql
CREATE TABLE xmltest (
id int,
data xml
);
INSERT INTO xmltest VALUES (1, '<doc>one</doc>');
```
通过上述 SQL 命令即可完成基本操作并查询到预期的结果集[^3]。
阅读全文