sql serve中的数据类型(详解)

简介: sql serve中的数据类型(详解)

一、整形数据


(1) int类型:


数据可存储范围: 可以存储-2^31 ~ 2^31-1之间所有的 正负整数,


占用空间: 4个字节(每个int类型数据).


(2) smallint类型:


数据可存储范围:-2^15~ 2^15-1之间所有的 正负整数,


占用空间:2个字节


(3) tinyint类型:


数据可存储范围:0~255之间所有的 正整数,


占用空间:1个字节


(4) bit类型


数据可存储范围:用于存储1、0或NULL(表示空),非常适合用于开关标记.


占用空间:一个字节


二、浮点型数据


(1) real类型


数据可存储范围:-3.40×10^-38~ 3.40×10^38


(可以精确到小数点后的第7位小数)


占用空间:占4个字节


(2) float类型:


数据可存储范围:-1.79×10^-308 ~ 1.79×10^-308


(可精确到第15位小数)


占用空间:占8个字节


三、字符串类型


字符串类型用于存储字符型数据,如字母、数学符号、特殊符号.但是要注意,在使用字符数据时要加" ’ “(单引号),在数据库中,并没有单独的字符类型,字符和字符串都是用单引号括起来,这与在c语言中字符串要用”"(双引号)括起来不同.


(1) char[n];固定长度


数据可存储范围:1~8000


占用空间:占用n个字节


其中,n是自己设定的数字, 用于存储n个字符长度的数据,


  1. 如果没有设置n的值,系统会默认设置为1,即只能存储一个字符.


  1. 如果输入的数据实际长度小于n,系统会自动在其后添加空格来填满设定好的空间.


例如:



  1. 如果输入的数据实际长度大于n,系统则会自动截掉其超出部分



(2) nchar(n) 类型:


存储统一编码字符型数据n(括号里面的n)取值范围是1~4000,用双字节结构来存储每个字符.


n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar


字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。


(3) varchar[n]类型:可变长度


n取值范围是1~8000


存储的大小是输入数据的实际长度+2个字节,若输入的数据小于n,系统不会在后面添加空格.


(4) text:用于存储大量文本数据


数据可存储范围:理论上是可以存储1~2^31-1个字节,在实际编程中应根据具体需要而定.


思考?


那么为什么不都用可变长字符串 varchar类型呢?这样不是更方便的吗?可以节省存储空间.


其实char类型有char类型的优点,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率.。varchar则刚好相反,以时间换空间.。


四、日期和时间数据类型


(1) date类型: 只用来存储日期.


是sql server2008新引进的数据类型,


存储格式:“YYYY-MM-DD”


占用空间:占用三个字节


数据可存储范围:0001-01-01~9999-12-31


(2) time类型 :只用来存储时间


存储格式:“hh:mm:ss”


占用空间:3~5个字节


数据可存储范围:00:00:00:0000000(7个0)~23:59:59.9999 999(7个0)


(3) datatime:用于存取日期和时间的结合体


存储格式:“YYYY-MM-DD hh:mm:ss[.nnnnnnn]”(7个n)


占用空间:8个字节


数据可存储范围:1753-01-01~9999-12-31


(4) smalldatetime类型:


范围比datatime要小,且精度为分钟


数据可存储范围:1900-1-1~2079-6-6


占用空间:四个字节


五. 货币数据类型


货币数据类型用于存储币值,在使用数据类型的时候,应在数据前加上货币符号,比如:¥100.23或$66.66


(1) money:


是一个有4位小数的decimal值


数据可存储范围:-2^63~ 2^63-1


占用空间:8个字节


(2) smallmoney:


与money类型相似,只是范围更小


数据可存储范围:-2^31 ~ 2^31-1


占用空间:4个字节

目录
相关文章
|
8月前
|
SQL 存储 数据库
sql serve基础
sql serve基础
|
8月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
|
8月前
|
存储 SQL 数据库
sql serve存储过程
sql serve存储过程
|
8月前
|
SQL 存储 关系型数据库
RDS for MySQL的SQL分类与数据类型
小明需在MySQL中管理商品信息,使用SQL完成业务操作。SQL分为DQL(查询)、DML(增删改)、DDL(定义)、DCL(权限控制)和TCL(事务)五大类。DDL用于创建、修改和删除数据库结构,DML处理数据,DCL控制权限,TCL管理事务,DQL则用于查询数据。MySQL有多种数据类型,如数值型(整数、小数)、日期型和字符串型等,选择合适的数据类型是高效开发的关键。
87 0
|
5月前
|
存储 SQL 自然语言处理
|
5月前
|
存储 SQL 数据库
|
5月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
565 0
|
6月前
|
SQL 存储 关系型数据库
SQL分类与数据类型
【7月更文挑战第12天】Mysql SQL语句分类与数据类型 介绍
|
7月前
|
SQL 存储 XML
SQL 通用数据类型
SQL 通用数据类型
38 1
|
8月前
|
SQL 存储 Oracle
Oracle PL/SQL基本数据类型:数据世界的多彩画卷
【4月更文挑战第19天】Oracle PL/SQL的数据类型如同画笔,赋予数据多彩生命。字符型包括固定长度的`CHAR`和灵活的`VARCHAR2`;数值型如`NUMBER`、`INTEGER`,用于量化描述;日期和时间型如`DATE`、`TIMESTAMP`记录时序;还有布尔型和二进制数据等。选择合适的数据类型,就像挑选画笔,能让数据展现得更生动、准确。在编程中巧妙运用,将绘制出精彩的数据世界!