个人学习sql数据类型

举报
yd_296807296 发表于 2025/03/05 17:32:06 2025/03/05
【摘要】 数据类型 数值类型用于数字名称描述存储空间范围TINYINT微整数,别名为INT1。1字节0 ~ 255SMALLINT小范围整数,别名为INT2。2字节-32,768 ~ 32,767INTEGER常用的整数,别名为INT4。4字节-2,147,483,648 ~ 2,147,483,647BINARY_INTEGER常用的整数INTEGER的别名。4字节-2,147,483,648 ~...

数据类型


数值类型

用于数字

名称 描述 存储空间 范围
TINYINT 微整数,别名为INT1。 1字节 0 ~ 255
SMALLINT 小范围整数,别名为INT2。 2字节 -32,768 ~ 32,767
INTEGER 常用的整数,别名为INT4。 4字节 -2,147,483,648 ~ 2,147,483,647
BINARY_INTEGER 常用的整数INTEGER的别名。 4字节 -2,147,483,648 ~ 2,147,483,647
BIGINT 大范围的整数,别名为INT8。 8字节 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
int16 十六字节的大范围证书,目前不支持用户用于建表等使用。 16字节 -170,141,183,460,469,231,731,687,303,715,884,105,728 ~ 170,141,183,460,469,231,731,687,303,715,884,105,727

货币类型

用于货币

名称 存储容量 描述 范围
money 8 字节 货币金额 -92233720368547758.08 ~ 92233720368547758.07

布尔类型

用于判断

名称 描述 存储空间 取值
BOOLEAN 布尔类型 1字节。 true:真false:假null:未知(unknown)

字符类型

用于文字

名称 描述 存储空间
CHAR(n)CHARACTER(n)NCHAR(n) 定长字符串,不足补空格。n是指字节长度,如不带精度n,默认精度为1。 最大为10MB。
VARCHAR(n)CHARACTER VARYING(n) 变长字符串。n是指字节长度。 最大为10MB。
VARCHAR2(n) 变长字符串。是VARCHAR(n)类型的别名。n是指字节长度。 最大为10MB。
NVARCHAR2(n) 变长字符串。n是指字符长度。 最大为10MB。
TEXT 变长字符串。 最大为1GB-1,但还需要考虑到列描述头信息的大小, 以及列所在元组的大小限制(也小于1GB-1),因此TEXT类型最大大小可能小于1GB-1。
CLOB 文本大对象。是TEXT类型的别名。 最大为1GB-1,但还需要考虑到列描述头信息的大小, 以及列所在元组的大小限制(也小于1GB-1),因此CLOB类型最大大小可能小于1GB-1。

二进制类型

名称 描述 存储空间
BLOB 二进制大对象。说明:列存不支持BLOB类型。 最大为1GB-8203字节(即1073733621字节)。
RAW 变长的十六进制类型。说明:列存不支持RAW类型。 4字节加上实际的十六进制字符串。最大为1GB-8203字节(即1073733621字节)。
BYTEA 变长的二进制字符串。 4字节加上实际的二进制字符串。最大为1GB-8203字节(即1073733621字节)。
BYTEAWITHOUTORDERWITHEQUALCOL 变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为确定性加密,则该列的实际类型为BYTEAWITHOUTORDERWITHEQUALCOL),元命令打印加密表将显示原始数据类型。 4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。
BYTEAWITHOUTORDERCOL 变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为随机加密,则该列的实际类型为BYTEAWITHOUTORDERCOL),元命令打印加密表将显示原始数据类型。 4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。
_BYTEAWITHOUTORDERWITHEQUALCOL 变长的二进制字符串,密态特性新增的类型。 4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。
_BYTEAWITHOUTORDERCOL 变长的二进制字符串,密态特性新增的类型。 4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

时间类型

DATE 日期和时间。 4字节(实际存储空间大小为8字节)
TIME [§] [WITHOUT TIME ZONE] 只用于一日内时间。p表示小数点后的精度,取值范围为0~6。 8字节
TIME [§] [WITH TIME ZONE] 只用于一日内时间,带时区。p表示小数点后的精度,取值范围为0~6。 12字节
TIMESTAMP[§] [WITHOUT TIME ZONE] 日期和时间。p表示小数点后的精度,取值范围为0~6。 8字节
TIMESTAMP[§][WITH TIME ZONE] 日期和时间,带时区。TIMESTAMP的别名为TIMESTAMPTZ。p表示小数点后的精度,取值范围为0~6。 8字节
SMALLDATETIME 日期和时间,不带时区。精确到分钟,秒位大于等于30秒进一位。 8字节
INTERVAL DAY (l) TO SECOND § 时间间隔,X天X小时X分X秒。l:天数的精度,取值范围为0~6。兼容性考虑,目前未实现具体功能。p:秒数的精度,取值范围为0~6。小数末尾的零不显示。 16字节
INTERVAL [FIELDS] [ § ] 时间间隔。fields:可以是YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,DAY TO HOUR,DAY TO MINUTE,DAY TO SECOND,HOUR TO MINUTE,HOUR TO SECOND,MINUTE TO SECOND。p:秒数的精度,取值范围为0~6,且fields为SECOND,DAY TO SECOND,HOUR TO SECOND或MINUTE TO SECOND时,参数p才有效。小数末尾的零不显示。 12字节
reltime 相对时间间隔。格式为:X years X mons X days XX:XX:XX。采用儒略历计时,规定一年为365.25天,一个月为30天,计算输入值对应的相对时间间隔,输出采用POSTGRES格式。 4字节
abstime 日期和时间。格式为:YYYY-MM-DD hh:mm:ss+timezone取值范围为1901-12-13 20:45:53 GMT~2038-01-18 23:59:59 GMT,精度为秒。 4字节

几何类型

名称 存储空间 说明 表现形式
point 16字节 平面中的点 (x,y)
lseg 32字节 (有限)线段 ((x1,y1),(x2,y2))
box 32字节 矩形 ((x1,y1),(x2,y2))
path 16+16n字节 闭合路径(与多边形类似) ((x1,y1),…)
path 16+16n字节 开放路径 [(x1,y1),…]
polygon 40+16n字节 多边形(与闭合路径相似) ((x1,y1),…)
circle 24 字节 <(x,y),r> (圆心和半径)

网络地址类型

名称 存储空间 描述
cidr 7或19字节 IPv4或IPv6网络
inet 7或19字节 IPv4或IPv6主机和网络
macaddr 6字节 MAC地址

位串类型

位串就是一串10的字符串。它们可以用于存储位掩码。

openGauss支持两种位串类型:bit(n)和bit varying(n),这里的n是一个正整数。

bit类型的数据必须准确匹配长度n,如果存储短或者长的数据都会报错。bit varying类型的数据是最长为n的变长类型,超过n的类型会被拒绝。一个没有长度的bit等效于bit(1),没有长度的bit varying表示没有长度限制。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。