ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB数据类型

YashanDB数据类型

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-03-26 15:16:25 0 删除 编辑

数据库里所有的数据都归属于某一种数据类型(Data Type),数据类型标识了数据的存储相关属性和对该种数据的操作限制。

当用户输入一个数据时,系统将按照一定的规则识别其所属数据类型,具体可参考 字面量描述。

当创建表对象时,对列字段的声明必须指定一种数据类型,依据这种数据类型,该列上的所有数据都应满足其存储属性要求,如长度、精度等,才能被成功插入到表中。YashanDB同时提供了数据类型的隐式转换功能,当用户输入数据与字段上定义的数据类型不一致时,系统将先进行数据类型转换,例如将字符型'100'转换为数值型100,此时插入的数据可以满足存储要求,操作成功;对于数据类型无法转换的,例如无法将字符型'aaa'转换为数值型数据,此时才返回插入数据失败。

当数据被用于表达式计算时,其类型也对计算的操作产生限制,符合限制条件的数据类型才能成功执行计算,例如数学类计算要求其参数均为数值型、日期类计算要求其参数均为日期时间型。但如果用户显式指定了数据转换,或者根据YashanDB的隐式转换规则可以成功执行转换,则这些跨数据类型的表达式计算是可以成功执行的。

在一些其他场景中,例如数据被用于函数的参数传递,而其类型与函数定义的参数类型不一致时,系统均会先执行数据类型的隐式转换,以保证最大的兼容性和计算能力。

基于某些数据类型在其属性和操作限制上的共同点,YashanDB的数据类型可以划分为如下几大类:

  • 数值型:与数字(Numeric)相关的数据属于此类型,具体包含TINYINT、SMALLINT、INT/INTEGER、BIGINT、NUMBER、FLOAT、DOUBLE、BIT等数据类型。
  • 字符型:与文本字符(Character)相关的数据属于此类型,具体包含CHAR、VARCHAR等数据类型。
  • 日期时间型:与日期时间(Datetime)相关的数据属于此类型,具体包含DATE、TIME、TIMESTAMP、INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECOND等数据类型。
  • 布尔型:与布尔逻辑(Boolean)相关的数据属于此类型,具体为Boolean数据类型。
  • 大对象型:与大二进制、大文本等大对象(Large Object)相关的数据属于此类型,具体包含CLOB、BLOB等数据类型。
  • ROWID/UROWID:用于表示某条行记录的物理地址的数据属于此类型。
  • RAW:与VARCHAR类似的可变长度数据类型,多被用于存储二进制对象。
  • JSON:与JSON相关的可变长度数据类型,多被用于存储JSON格式的二进制对象。
  • ST_GEOMETRY:与GIS相关的空间数据类型,具体包含POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON等数据类型。
  • XMLTYPE:与XML相关的可变长度数据类型,底层以CLOB形式存储XML格式的数据。
  • BOX2D:与ST_GEOMETRY相关的空间数据类型,用于表示ST_GEOMETRY的二维边界框。

本章节将按上述列举大类分别阐述YashanDB内置的所有数据类型的定义以及它们之间的转换规则。

Note:

以下数据类型只适用于HEAP表:

以下数据类型只适用于单机HEAP表:

  • ST_GEOMETRY
  • BOX2D


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3079083/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: YashanDB NULL
请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    640225