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个字节。应用场合:可存储图
相关推荐
q***44811 分钟前
postgresql链接详解
数据库·postgresql
菜鸟‍16 分钟前
【后端学习】MySQL数据库
数据库·后端·学习·mysql
污斑兔23 分钟前
腾讯云 CloudBase 数据库 CRUD 完整指南
数据库·云计算·腾讯云
tuokuac1 小时前
批量新增操作为什么要加@Transactional注解
数据库
q***9943 小时前
Redis的Spring配置
数据库·redis·spring
S***y3963 小时前
MySQL视频
数据库·mysql
周杰伦fans4 小时前
[特殊字符] 代理模式超详细讲解 ——.NET
数据库·c#·代理模式
TDengine (老段)4 小时前
TDengine 转换函数 TO_JSON 用户手册
android·大数据·数据库·json·时序数据库·tdengine·涛思数据
2301_800256114 小时前
第七章 空间存储与索引 知识点梳理3(空间填充曲线)
数据库·笔记·sql·postgresql
冰封剑心4 小时前
MiniCPM-V-2_6 (4-bit 量化)使用
java·前端·数据库