SQL数据库数据类型_数据表的常见数据类型有哪些

SQL数据库数据类型_数据表的常见数据类型有哪些文章目录1. 整数型● bigint(大整数)● int(整数)● smallint(短整数)● tinyint(微短整数)2. 精确数值型numeric | decimal(p[,s])3. 浮点型● real● float[(n)]4. 货币型●money● smallmoney5. 位型6. 字符型●char[(n)]●varchar[(n)]7. Unicode字符型● nchar[(n)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 整数型

整数包括bigint、int、smallint和tinyint 4类。

● bigint(大整数)

精度为19位,长度为8字节,数值范围为-263~263-1。

● int(整数)

精度10位,长度为4字节,数值范围为-231~231-1。

● smallint(短整数)

精度为10位,长度为2字节,数值范围为-215~215–1。

● tinyint(微短整数)

精度为3位,长度为1字节,数值范围为0~255。

2. 精确数值型

精确数值型包括decimal 和 numeric两类,这两种数据
型在SQL Server中,在功能上是完全等价的。
精确数值型数据由整数部分和小数部分构成,可存储从 -1038 +1 到 1038–1 的固定精度和小数位的数字数据,它存储长度最少为5字节,最多为17字节。
精确数值型数据的格式是:

numeric | decimal(p[,s])

其中p为精度,s为小数位数,s的缺省值为0。
例如指定某列为精确数值型,精度为7,小数位数为2,则为 decimal(7,2)。

3. 浮点型

浮点型又称近似数值型,近似数值数据类型包括float[(n)]和real两类,这两类通常都使用科学记数法表示数据。科学记数法的格式为:

尾数E阶数
  
其中,阶数必须为整数。
例如,6.804 E9,3.682-E6,7 8594E-8等都是浮点型数据。

● real

精度为7位,长度为4字节,数值范围为-3.40E + 38~3.40E + 38。

● float[(n)]

当n在1~24之间时,精度为7位,长度为4字节,数值范围为-3.40E + 38~3.40E + 38。
当n在25~53之间时,精度为15位,长度为8字节,数值范围为- 1.79E+308~1.79E+308。

4. 货币型

处理货币的数据类型有money和smallmoney,它们用十进制数表示货币值。

●money

精度为19,小数位数为4、长度为8字节,数值范围为-263~263-1。

● smallmoney

精度为10,小数位数为4、长度为4字节,数值范围–231 ~ 231 – 1。

5. 位型

SQL Server中的位(bit)型数据只存储0和1,长度为一个字节,相当于其它语言中的逻辑型数据。当一个表中有小于8位的bit列,将作为一个字节存储,如果表中有9到16位bit列,将作为两个字节存储,依此类推。
当为bit类型数据赋0时,其值为0;而赋非0时,其值为1。
字符串值TRUE和FALSE可以转换的bit 值:TRUE转换为1,FALSE转换为0。

6. 字符型

字符型数据用于存储字符串,字符串中可包括字母数字和其它特殊符号。在输入字符串时,需将串中的符号用单引号或双引号括起来,如’def’、“Def<Ghi”。

●char[(n)]

固定长度字符数据类型,其中n定义字符型数据的长度,n在1~8000之间,默认值为1。若输入字符串长度小于n时,则系统自动在它的后面添加空格以达到长度n。例如某列的数据类型为char(100),而输入的字符串为”NewYear2013″,则存储的是字符NewYear2013和89个空格。若输入字符串长度大于n,则截断超出的部分。当列值的字符数基本相同时可采用数据类型char[(n)]。

●varchar[(n)]

可变长度字符数据类型,其中n的规定与定长字符数据类型char[(n)]中n完全相同,与char[(n)]不同的是 varchar(n) 数据类型的存储空间随列值的字符数而变化。例如,表中某列的数据类型为varchar(100),而输入的字符串为” NewYear2013″,则存储的字符NewYear2013的长度为11字节,其后不添加空格,因而varchar(n) 数据类型可以节省存储空间,特别在列值的字符数显著不同时。

7. Unicode字符型

Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。Unicode字符型包括nchar[(n)]和nvarchar[(n)]两类。nchar[(n)]、nvarchar[(n)]和char[(n)]、varchar(n)类似,只是前者使用Unicode字符集,后者使用ASCII字符集。

● nchar[(n)]

固定长度Unicode数据的数据类型,n的取值为1~4000,长度为2n字节,若输入的字符串长度不足n,将以空白字符补足。

● nvarchar[(n)]

可变长度Unicode数据的数据类型,n的取值为1~4000,长度是所输入字符个数的两倍。

8. 文本型

由于字符型数据的最大长度为8000个字符,当存储超出上述长度的字符数据(如较长的备注、日志等),即不能满足应用需求,此时需要文本型数据。文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。

● text

最大长度为231-1(2,147,483,647)个字符,存储字节数与实际字符个数相同。

● ntext

最大长度为230-1(1,073,741,823)个Unicode字符,存储字节数是实际字符个数的2倍。

9. 二进制型

二进制数据类型表示的是位数据流,包括binary(固定长
度)和varbinary(可变长度)两种。

● binary[(n)]

固定长度的n个字节二进制数据,n的取值范围为1~8000,
默认值为1。
  binary(n)数据的存储长度为:n+4个字节。若输入的数据
长度小于n,则不足部分用0填充;若输入的数据长度大于n,
则多余部分被截断。
输入二进制值时,在数据前面要加上0x,可以用的数字符号为09、AF(字母大小写均可)。例如0xBE、0x5F0C分别表示值BE和5F0C。由于每字节的数最大为FF,故在“0x”格式的数据每两位占1个字节,二进制数据有时也被称为十六进制数据。

●varbinary[(n)]

n个字节变长二进制数据,n取值范围为1~8000,默认值为1。varbinary(n)数据的存储长度为:实际输入数据长度+4个字节。

10. 日期时间类型

● datetime

datetime类型可表示的日期范围从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(3.33毫秒或0.00333 秒)。datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4字节用于存储基于1900年1月1日之前或之后的天数,正数表示日期在1900年1月1日之后,负数则表示日期在1900年1月1日之前。后4个字节用于存储距12:00(24小时制)的毫秒数。默认的日期时间是January 1, 1900 12:00 A.M。可以接受的输入格式有:January 10 2012、Jan 10 2012、JAN 10 2012、January 10, 2012等。

●smalldatetime

Smalldatetime与datetime数据类型类似,但日期时间范围
较小,表示从1900年1月1日到2079年6月6日的日期和时间,存储长度为4字节。

●date

date类型可表示从公元元年1月1日到9999年12月31日期,表示形式与datetime数据类型的日期部分相同,只存储日期数据,不存储时间数据,存储长度为3个字节。

●time

time数据类型只存储时间数据,表示格式为“hh:mm:ss[.nnnnnnn]”。hh表示小时,范围为0到23。mm表示分钟,范围为0到59。ss表示秒数,范围为0到59。n是0 到7位数字,范围为0到9999999,表示秒的小数部分,即微秒数。所以time数据类型的取值范围为00:00:00.0000000到23:59:59.9999999。time类型的存储大小为5个字节。另外可以自定义time类型微秒数的位数,例如time(1)表示小数位为1,默认为7。

●datetime2

新的datetime2数据类型和datetime类型一样,也用于存储日期和时间信息。但是datetime2类型取值范围更广,日期部分取值范围从公元元年1月1日到9999年12月31日,时间部分的取值范围从00:00:00.0000000到23:59:59.999999。另外,用户还可以自定义datetime2数据类型中微秒数的位数,例如datetime(2)表示小数位数为2。

● datetimeoffset

datetimeoffset数据类型也用于存储日期和时间信息,取值范围与datetime2类型相同。但datetimeoffset类型具有时区偏移量,此偏移量指定时间相对于协调世界时(UTC)偏移的小时和分钟数。datetimeoffset的格式为“YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]”,其中hh为时区偏移量中的小时数,范围为00到14,mm为时区偏移量中的额外分钟数,范围为00到59。

11. 时间戳型

反映系统对该记录修改的相对(相对于其他记录)顺序,标识符是timestamp,timestamp类型数据的值是二进制格式数据,其长度为8字节。若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。

12. 图像数据类型

用于存储图片、照片等,标识符为image,实际存储的是可变长度二进制数据,介于 0 与 231-1 (2,147,483,647) 字节之间。

13. 其它数据类型

● cursor

游标数据类型,用于创建游标变量或定义存储过程的输出参数

● sql_variant

一种存储SQL Server支持的各种数据类型(除text、ntext、image、timestamp 和 sql_variant 外)值的数据类型。

● table

用于存储结果集的数据类型,结果集可以供后续处理。

● uniqueidentifier

唯一标识符类型,系统将为这种类型的数据产生唯一标识值。

● xml

用来在数据库中保存xml文档和片段的一种类型,文件大小不能超过2GB。

● hierarchyid

hierarchyid数据类型是SQL Server新增加的一种长度可变的系统数据类型,可使用 hierarchyid表示层次结构中置。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170927.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

  • apache 虚拟主机配置详解_如何配置虚拟主机

    apache 虚拟主机配置详解_如何配置虚拟主机apache2.4部分conf/httpd.conf1,Includeconf/extra/httpd-vhosts.conf,去掉注释;2,DocumentRoot"D:\apachespace",增加注释;3,所有&lt;directory&gt;&lt;/directory&gt;,增加注释;4,*ServerName :80,增加注释;conf/extra/httpd-vhosts.c…

  • linux fork函数浅析

    linux fork函数浅析

  • 递归改成循环_递归比循环效率高吗

    递归改成循环_递归比循环效率高吗Java递归,递归改循环为什么大家都说不建议用递归?递归容易造成栈溢出,在jdk1.5前虚拟机给每个栈桢的运行空间128kb,在1.5以后为1m的运行空间.递归是指先进后出,也就是说第一进栈的对象会最后一个出站,然后栈桢的空间只有1m,生产环境的数据需要递归的深度,一般情况下我们无法通过测试来进行模拟。所以对于递归的深度不可把控的情况下,是有栈溢出的风险。一个简单的例子测试递归的深度递…

  • bit、byte、位、字节、汉字的关系[通俗易懂]

    bit、byte、位、字节、汉字的关系[通俗易懂]字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.符号:英文标点2占一个字节,中文标点占两个字节.1字节(Byte)=8位(bit)比特(Bit),亦称二进制位。新港台:位元比特指二进制中的一位,是二进制最小信息单位。1比特就是1位  字节    字节(Byte):字节是通过网络传

    2022年10月25日
  • for()循环语句_for next循环语句

    for()循环语句_for next循环语句一、for语句结构:for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}循环条件表达式,必须是true或false示例:输出结果:第0次你好第1次你好第2次你

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号