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个字节。应用场合:可存储图
相关推荐
迷枫71214 分钟前
DM8 目录结构与常用排查入口梳理
服务器·数据库
Mr.Daozhi1 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
小程故事多_801 小时前
Claude Code自定义workflow skills用法
数据库·人工智能·智能体
大鹏说大话1 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
夏贰四2 小时前
数据建模工具如何筑牢数据根基?数据建模工具怎样落实标准体系?
数据库·数学建模·数据建模工具
程序猿阿伟3 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
二等饼干~za8986683 小时前
geo优化源码开发搭建技术分享
大数据·网络·数据库·人工智能·音视频
数据库小学妹4 小时前
HTAP混合负载架构:如何用一个数据库同时搞定交易和分析
数据库·经验分享·架构·dba
wuxinyan1234 小时前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体