SQL Server—的数据类型

SQL Server—的数据类型

在 SQL Server 数据库中,数据类型是定义数据模型的基础,它们决定了数据在数据库中的存储方式和格式。正确选择数据类型不仅可以优化存储空间,还能提高查询性能和数据完整性。

1文本类型

文本类型:字符数据包含任意字母、符号或数字字符的组合

  1. char:固定长度的非 Unicode 字符数据,最大长度为8000个字符,一个汉字占2个字符
  2. varchar:可变长度的非 Unicode 数据,最大长度为8000个字符
  3. text:存储长文本信息,最大长度为2^31-1 (2147483647)个字符。如果定义的字符超过 char的8000个字符,那么就需要定义为 text 长文本类型的了。
  4. nchar:固定长度的 Unicode 数据,最大长度为4000个字符
  5. nvarchar:可变长度的 Unicode 数据,最大长度为4000个字符
  6. ntext:存储可变长度的长文本,2^30-1 (1073741823)个字符
  7. Unicode:是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案

注意:带n的数据类型长度是不带n的两倍。比如nchar(1)和char(2)长度相同(1个字节 nchar 等于 声明2个字节的char,所以带 n 的最大长度就降低了)

2整数类型

  1. bigint:占用8个字节,可表示范围:-2^63 ~ 2^63-1之间的整数
  2. int:占用4个字节,可表示范围:-2^31 ~ 2^31-1之间的整数
  3. smallint:占用2个字节,可表示范围:-2^15 ~ 2^15-1之间的整数
  4. tinyint:占用1个字节,可表示范围:0 ~ 255之间的整数

3精确数字类型:

  1. decimal:-10^38 ~ 10^38-1之间的固定精度和小数位的数字
  2. numeric:功能等同于decimal

写法:decimal(整数,小数)和numeric(整数,小数)

默认:如果不指定位数,默认18位整数,0位小数,比如身份证号:numeric(18,0),当然身份证号一般不用 numeric,而是用 char,因为身份证号有的还含有 X 字符

4近似数字(浮点)类型:

  1. float[(n)]:表示范围:-1.79E+308 ~ 1.79E+308 (1.79乘以10的308次幂) n表示精度,在1-53之间取值,当n在1-24之间时,精度为7位有效数字,占用4个字节;当n在25-53之间时,精度为15位有效数字,占用8个字节
  2. real:表示范围: -3.40E+38 ~ 3.40E+38占用4个字节存储空间,相当于float(24)

5日期类型:

  1. datetime:允许的范围1753-1-1至9999-1-1
  2. smalldatetime:允许的范围1900-1-1至2079-6-6

时间精度不同:datetime精确到3/100秒;smalldatetime精确到1分钟

格式说明:

  •         分隔符数字方式:2023-04-24或04/24/2023
  •         纯数字方式:04242023
  •         英文数字方式:Apr 24,2023

注意问题:日期在使用的时候需要使用单引号''括起来

6货币类型:

  1.     money:货币数值介于 -2^63 ~ 2^63-1之间,精确到货币单位的千分之一。
  2.     smallmoney:货币数据介于 -214748.3648 ~ -214748.3648之间,精确到货币单位的千分之十。

7位类型:

  1. bit:表示“是/否”类型的数据。(0、1 / true、false)

8二进制类型:

  1. binary:固定长度的二进制数据,最大长度为8000个字节。
  2. vbinary:可变长度的二进制数据,其最大长度为8000个字节。image:可变长度的二进制数据,其最大长度为2^31个字节。应用场合:可存储图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值