暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss 数据类型

openGauss小助手 2021-10-27
1336

和所有的计算机语言一样,SQL语言也有自己的数据类型,这些数据类型主要用于在创建基本表(关系)的时候指定基本表的每个列(属性)的类型。这些数据类型主要可以分成字符串类型、数值类型、时间/日期类型等。

字符串类型又可以分为定长字符串类型和变长字符串类型,如表2-1所示。

表2-1 字符串类型说明

名称概述
CHAR(n)n指定了定长字符串的长度。如果输入的字符串长度少于n,则用空格在字符串的尾部补齐到n个字符;如果输入的字符串长度大于n,则会从右边自动截断,到仅剩n个字符为止
VARCHAR(n)n指定了字符串的最大长度,输入的字符串不会有补齐操作,以变长的形式输出

数值类型又可以分成精确数值类型和近似数值类型,精确数据类型包括一系列的整数类型,而近似数值类型则包括浮点类型等(需要注意的是不同的数据库对于数据类型的支持会有细微的差别),如表2-2所示。

表2-2 数值类型说明

名称概述
SMALLINT整型,长度是2字节,取值范围是[-32768,32768]
INTERGER整型,长度是4字节,取值范围是[-2147483648,2147483647]
BIGINT整型,长度是8字节,取值范围在-2^63到2^63-1之间,即[-9223372036854775808,9223372036854775807]
FLOAT(p)浮点类型,其中p代表的是浮点类型中小数点前后的总位数之和
REAL单精度浮点类型,长度为4个字节,取值范围是
[-3.40E+38,3.40E+38]
NUMERIC(p,s)p:小数点前后的总位数之和;
s:小数点后的位数;
p和s的取值范围取决于不同的数据库的实现
DECIMAL(p,s)和NUMERIC类似,但数值精度不受p和s的限制,p和s决定了DECIMAL精度的下限
DOUBLE PRECISION双精度类型,长度为8个字节,取值范围是[-1.79E+308,1.79E+308]

日期/时间类型包括日期和时间类型,如表2-3所示。

表2-3 日期类型和时间类型说明

名称概述
DATE日期类型,日期类型由年、月、日组成,形如yyyy-mm-dd
TIMESTAMP(p)时间类型,时间类型由年、月、日、时、分、秒共同组成,形如yyyy-mm-dd hh:mm:ss,如果指定了精度p,则会保存秒的小数部分

另外还包括一些常用类型,如表2-4所示。

表2-4 常用类型说明

名称概述
BLOB/CLOB大对象类型,BLOB中保存的是二进制文件,CLOB中保存的是文本类型
BOOLEAN布尔类型,可以取值为TRUE、FALSE、UNKNOWN,通常UNKNOWN和NULL值等价

当创建基本表的时候,会给基本表的每个列指定一个数据类型,一个基本表是一个数据实体。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论