当前位置: 首页 > article >正文

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个字节。应用场合:可存储图


http://www.kler.cn/news/332997.html

相关文章:

  • Kafka和RabbitMQ区别
  • 4个顶级的大模型推理引擎
  • 如何使用ssm实现科技银行业务管理系统+vue
  • vue ui指令打不开图形化界面解决方案
  • 国外电商系统开发-运维系统单个添加被管理服务器
  • 基于深度学习的视频生成
  • 网络常见故障
  • RSA非对称加密
  • 《PMI-PBA认证与商业分析实战精析》第7章 解决方案评价
  • 微服务sentinel解析部署使用全流程
  • 解决银河麒麟桌面操作系统V10(ARM)中`apt-get update`“正在等待报头”问题
  • 详解JavaScript中的闭包
  • 【AI大模型】使用Embedding API
  • java线程池参数设置原则
  • netty之SpringBoot+Netty+Elasticsearch收集日志信息数据存储
  • Nginx部署前端Vue项目的深度解析
  • k8s 之常用命令
  • pnpm install的时候失败提示python问题
  • 【Docker从入门到进阶】06.常见问题与解决方案 07.总结与资源
  • 机器学习 | Scikit Learn中基于随机森林的OOB误差计算