SQL Server数据类型详细解释

本文概述

  • 字符串类型
  • 号码类型
  • 日期类型
【SQL Server数据类型详细解释】数据类型可以分为三种类型:
  • 字符串类型
  • 号码类型
  • 日期类型
字符串类型
数据类型 Description
char(n) 它是固定宽度的字符串。它最多可以存储8, 000个字符。
varchar(n) 它是一个可变宽度的字符串。它最多可以存储8, 000个字符。
varchar(max) 它是一个可变宽度的字符串。它最多可以存储1, 073, 741, 824个字符。
text 它是一个可变宽度的字符串。它最多可以存储2GB的文本数据。
nchar 它是固定宽度的unicode字符串。最多可存储4, 000个字符。
nvarchar 这是一个可变宽度的unicode字符串。最多可存储4, 000个字符。
nvarchar(max) 这是一个可变宽度的unicode字符串。它最多可以存储536, 870, 912个字符。
ntext 这是一个可变宽度的unicode字符串。它最多可以存储2GB的文本数据。
bit 它允许0、1或NULL值。
binary(n) 它是固定宽度的二进制字符串。最多可存储8, 000个字节
varbinary 它是一个可变宽度的二进制字符串。最多可存储8, 000个字节
varbinary(max) 它是一个可变宽度的二进制字符串。它最多可以存储2GB。
image 它是一个可变宽度的二进制字符串。它最多可以存储2GB。
号码类型
data type description storage
tinyint 允许从0到255的整数 1个字节
smallint 允许-32, 768到32, 767之间的整数 2字节
int 允许-2, 147, 483, 648和2, 147, 483, 647之间的整数 4 bytes
bigint 允许-9, 223, 372, 036, 854, 775, 808和9, 223, 372, 036, 854, 775, 807之间的整数 8字节
decimal(p, s) 固定的精度和小数位数。允许从-10 ^ 38 +1到10 ^ 38?1的数字。p参数表示可以存储的最大位数(在小数点的左边和右边) 。 p必须是1到38之间的值。默认值为18。s参数指示存储在小数点右边的最大位数。 s必须是从0到p的值。默认值为0 5-17字节
数值(p, s) 固定的精度和小数位数。允许从-10 ^ 38 +1到10 ^ 38?1的数字。p参数表示可以存储的最大位数(在小数点的左边和右边) 。 p必须是1到38之间的值。默认值为18。s参数指示存储在小数点右边的最大位数。 s必须是从0到p的值。默认值为0 5-17字节
smallmoney 货币数据从-214, 748.3648到214, 748.3647 4字节
money 货币数据从-922, 337, 203, 685, 477.5808到922, 337, 203, 685, 477.5807 8 bytes
float(n) 浮动精度数字数据从-1.79e + 308到1.79e + 308. n参数指示该字段应容纳4个字节还是8个字节。 float(24)保存4字节字段, float(53)保存8字节字段。 n的默认值为53。 4或8个字节
real 浮动精度数字数据从-3.40e + 38到3.40e + 38 4 bytes
日期类型
Data Type Description Storage
datetime 它指定从1753年1月1日到9999年12月31日的日期和时间, 精度为3.33毫秒。 8 bytes
datetime2 它指定从0001年1月1日到9999年12月31日的日期和时间, 精度为100纳秒。 6-8个字节
smalldatetime 它指定从1900年1月1日到2079年6月6日的日期和时间, 精度为1分钟。 4 bytes
date 它仅用于存储日期。它指定从0001年1月1日到9999年12月31日的日期。 3个字节
time 它仅用于存储时间至100纳秒的精度。 3-5个字节
datetimeoffset 它与datetime2相同, 只是增加了一个时区偏移量。 8-10个字节
timestamp 它存储一个唯一的编号, 该编号在每次创建或修改行时都会更新。时间戳值基于内部时钟, 与实时不符。每个表可能只有一个时间戳变量。

    推荐阅读