首页 > 数据库 > 国内数据库 > YashanDB数据类型
数据库里所有的数据都归属于某一种数据类型(Data Type),数据类型标识了数据的存储相关属性和对该种数据的操作限制。
当用户输入一个数据时,系统将按照一定的规则识别其所属数据类型,具体可参考 字面量描述。
当创建表对象时,对列字段的声明必须指定一种数据类型,依据这种数据类型,该列上的所有数据都应满足其存储属性要求,如长度、精度等,才能被成功插入到表中。YashanDB同时提供了数据类型的隐式转换功能,当用户输入数据与字段上定义的数据类型不一致时,系统将先进行数据类型转换,例如将字符型'100'转换为数值型100,此时插入的数据可以满足存储要求,操作成功;对于数据类型无法转换的,例如无法将字符型'aaa'转换为数值型数据,此时才返回插入数据失败。
当数据被用于表达式计算时,其类型也对计算的操作产生限制,符合限制条件的数据类型才能成功执行计算,例如数学类计算要求其参数均为数值型、日期类计算要求其参数均为日期时间型。但如果用户显式指定了数据转换,或者根据YashanDB的隐式转换规则可以成功执行转换,则这些跨数据类型的表达式计算是可以成功执行的。
在一些其他场景中,例如数据被用于函数的参数传递,而其类型与函数定义的参数类型不一致时,系统均会先执行数据类型的隐式转换,以保证最大的兼容性和计算能力。
基于某些数据类型在其属性和操作限制上的共同点,YashanDB的数据类型可以划分为如下几大类:
本章节将按上述列举大类分别阐述YashanDB内置的所有数据类型的定义以及它们之间的转换规则。
Note:
以下数据类型只适用于HEAP表:
- NCLOB
- NCHAR
- NVARCHAR
- FLOAT(当USE_NATIVE_TYPE为FALSE时)
- XMLTYPE
- 用户自定义类型
以下数据类型只适用于单机HEAP表:
- ST_GEOMETRY
- BOX2D
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3079083/ ,如需转载,请注明出处,否则将追究法律责任。