---
title: "OBKV-Table 支持的数据类型 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: OBKV-Table 支持的数据类型 OBKV-Table 提供表模型接口，在概念定义上和 SQL 接近，因此也有数据类型的概念。本文档介绍了 OBKV-Table 支持的数据类型。 OBKV 支持的类型（Schema 定义） String 类型 OBKV-Table 支持的 String 类型如下： Varchar…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库KV 型 - V 4.2.5 LTS

# OBKV-Table 支持的数据类型

更新时间：2026-07-24 11:46:26

[编辑](https://github.com/oceanbase/oceanbase-kv/edit/V4.2.5/zh-CN/100.obkv-table/200.use-of-the-tableapi-client/230.obkv-table-data-type.md)  

OBKV-Table 提供表模型接口，在概念定义上和 SQL 接近，因此也有数据类型的概念。本文档介绍了 OBKV-Table 支持的数据类型。

## OBKV 支持的类型（Schema 定义）

### String 类型

OBKV-Table 支持的 String 类型如下：

- Varchar, Char
 - Tiny Text, Text, Medium Text, Long Text

需要注意的是，OBKV 客户端没有提供设置字符集的接口，客户端的数据默认会转为 utf8mb4_general_ci 字符集的数据，如果 Schema 上定义的字符集不同，在存储的时候，会有额外的字符集转换开销。

### Binary 类型

Binary 类型和 String 类型类似，不同之处在于它们存储二进制数据而不是字符串。

OBKV-Table 支持的 Binary 类型如下：

- VarBinary, Binary
 - Tiny Blob, Blob, Medium Blob, Long Blob

### 数值类型

OBKV-Table 支持的数值类型如下：

- 整数类型：Bool / Boolean / TinyInt / SmallInt / MediumInt / Int / Integer / BigInt
 - 定点类型：Decimal / Numeric
 - 浮点类型：Float / Double

需要注意的是：

- OBKV-Table 主要支持的客户端是 Java 客户端。Java 不支持 unsigned 类型，因此在定义 Schema 中不允许存在 unsigned 属性。
 - 定点数以及浮点数的精度（Precision）以及小数位数（Scale）都基于 Schema 定义，如果数据和 Schema 不匹配，则会报错。

### 日期时间类型

OBKV-Table 支持的数值类型如下：Date / Time / DataTime / Timestamp / Year。

需要注意的是，在使用 DataTime / Timestamp 的时候，默认的精度是 `0`，代表精度只能到秒。比如 Java 的一些函数, 返回的是毫秒级别的时间值，可能会导致精度校验的时候失败。因此在时间列的时候，可以将精度调整至 `6`(最大精度)。

## Java 类型和 OBKV-Table 类型的映射

Java 数据类型和 OBKV-Table 数据类型对应关系如下：

| Java 类型 | OBKV-Table 类型 |
| --- | --- |
| Boolean | TinyInt |
| Byte | Varbinary |
| Short | SmallInt |
| Integer | Int |
| Long | BigInt |
| String | Varchar |
| Byte[] | Varchar |
| Double | Double |
| Float | Float |
| Timestamp | Timestamp |
| java.sql.Date | DateTime |
| Date | DateTime |

#### 注意

- 在 Java 中使用 String / Byte[] 类型时，不能超过表中 Varchar 列的数据长度限制。。
 - 对于 Java 中的时间类型（Timestamp、java.sql.Date、Date），不能超过表中 TimeStamp 列或 DateTime 列的精度限制，TimeStamp 列或 DateTime 列的默认精度为 0。

   上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
