检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
范围类型 范围类型是表达某种元素类型(称为范围的subtype)的一个值的范围的数据类型。例如,timestamp的范围可以被用来表达一个会议室被保留的时间范围。在这种情况下,数据类型是tsrange(“timestamp range”的简写),而timestamp是其subty
伪类型 GaussDB数据类型中包含一系列特殊用途的类型,这些类型按照类别被称为伪类型。伪类型不能作为字段的数据类型,但是可以用于声明函数的参数或者结果类型。 当一个函数不仅是简单地接受并返回某种SQL数据类型的情况下伪类型是很有用的。表1列出了所有的伪类型。 表1 伪类型 名称
日期类型 表1列出了ecpg提供的日期类型(date)数据的常用接口: 表1 日期类型常用接口 API接口 接口描述 说明 date* PGTYPESdate_new(void) 返回一个已分配的date变量的指针。 该函数在堆上创建date变量,返回值为date*类型。 void
numeric [a] [a]这种类型可以通过访问特殊数据类型访问。 当前仅支持对于C语言的基本数据类型的使用或者组合,不支持C++语言中string数据类型用作宿主变量数据类型。 当前ecpg仅对GaussDB Kernel SQL的常用数据类型做映射,具体支持项请参见表1。 父主题:
数值类型 表1列出了ecpg提供的数值类型(numeric\decimal)数据的常用接口: 表1 数值类型常用接口 API接口 接口描述 说明 numeric* PGTYPESnumeric_new(void) 请求一个指向新分配的numeric变量的指针。 该函数在堆上创建n
日期类型 表1列出了ecpg提供的日期类型(date)数据的常用接口: 表1 日期类型常用接口 API接口 接口描述 说明 date* PGTYPESdate_new(void) 返回一个已分配的date变量的指针。 该函数在堆上创建date变量,返回值为date*类型。 void
许返回值超过类型本身范围,INT2/INT4/INT8的+、-、*运算不允许返回值超过类型本身范围。 UNSIGNED类型不支持与SET数据类型间的转换,避免对UNSIGNED类型与SET类型计算或比较。 当sql_compatibility = 'B'时,非数值类型的字符输入,会自动截断或返回数值0。
UUID类型 UUID数据类型用来存储RFC 4122,ISO/IEF 9834-8:2005以及相关标准定义的通用唯一标识符(UUID)。这个标识符是一个由算法产生的128位标识符,确保它不可能使用相同算法在已知的模块中产生相同的标识符。 UUID是一个小写十六进制数字的序列,
范围类型 范围类型是表达某种元素类型(称为范围的subtype)的一个值的范围的数据类型。例如,timestamp的范围可以被用来表达一个会议室被保留的时间范围。在这种情况下,数据类型是tsrange(“timestamp range”的简写),而timestamp是其subty
伪类型 GaussDB数据类型中包含一系列特殊用途的类型,这些类型按照类别被称为伪类型,如表1所示。伪类型不能作为字段的数据类型,但是可以用于声明函数的参数或者结果类型。 当一个函数不仅是简单地接受并返回某种SQL数据类型的情况下伪类型是很有用的。表1列出了所有的伪类型。 表1 伪类型
text)(需显式转换为字符类型)、quote_nullable(string text)(需显式转换为字符类型)。 聚集函数count、array_agg、checksum(需显式转换为字符类型)、string_agg(需显式转换为字符类型)。 自定义类型中复合类型涉及XMLTYPE
aclitem类型 aclitem数据类型是用来存储对象权限信息的,它的内部实现是int类型,支持的格式为‘user1=privs/user2’。 aclitem[]数据类型为aclitem组成的数组,支持的格式为‘{user1=privs1/user3,user2=privs2/user3}’。
数组(array):[]结构,里面存放的元素可以是任意类型的JSON,并且不要求数组内所有元素都是同一类型。 对象(object):{}结构,存储key:value的键值对,其键只能是用""包裹起来的字符串,值可以是任意类型的JSON,对于重复的键,按最后一个键值为准。 GaussDB存在两种数据类型JSON和JSO
网络地址类型 GaussDB提供用于存储IPv4、MAC地址的数据类型。 用这些数据类型存储网络地址比用纯文本类型好,因为这些类型提供输入错误检查和特殊的操作和功能(请参见网络地址函数和操作符)。 表1 网络地址类型 名称 存储空间 描述 cidr 7字节 IPv4网络 inet
位串类型 位串就是一串1和0的字符串。它们可以用于存储位掩码。 GaussDB支持两种位串类型:bit(n)和bit varying(n),这里的n是一个正整数,n最大取值为83886080,相当于10M的容量。 bit类型的数据必须准确匹配长度n,如果存储的数据长度不匹配都会报错。bit
值转为0000插入,并提示告警。 1字节 时间类型的数据在显示的时候会自动忽略末尾的所有零。 精度p默认取值为6。 对于INTERVAL类型,日期和时间在系统内部分别用int32和double类型存储,所以两者的取值范围和对应数据类型的取值范围一致。 插入时间超出范围的时候,系统可能不报错,但不保证行为正常。
位串类型 位串就是一串1和0的字符串。它们可以用于存储位掩码。 GaussDB支持两种位串类型:bit(n)和bit varying(n),这里的n是一个正整数,n最大取值为83886080,相当于10M的容量。 bit类型的数据必须准确匹配长度n,如果存储短或者长的数据都会报错。bit
aclitem类型 aclitem数据类型是用来存储对象权限信息的,它的内部实现是int类型,支持的格式为‘user1=privs/user2’。 aclitem[]数据类型为aclitem组成的数组,支持的格式为‘{user1=privs1/user3,user2=privs2/user3}’。
日期/时间类型 GaussDB支持的日期/时间类型请参见表1。该类型的操作符和内置函数请参见时间和日期处理函数和操作符。 如果其他的数据库时间格式和GaussDB的时间格式不一致,可通过修改配置参数DateStyle的值来保持一致。 表1 日期/时间类型 名称 描述 存储空间 DATE
数组(array):[]结构,里面存放的元素可以是任意类型的JSON,并且不要求数组内所有元素都是同一类型。 对象(object):{}结构,存储key:value的键值对,其键只能是用""包裹起来的字符串,值可以是任意类型的JSON,对于重复的键,按最后一个键值为准。 GaussDB存在两种数据类型JSON和JSO