MSSQL数据类型及长度限制详细说明

SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。

可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。

如果结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。

结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。
SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。

精确数字

整数

bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。

int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。

smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。

tinyint 从 0 到 255 的整数数据。

bit

bit 1 或 0 的整数数据。

decimal 和 numeric

decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。

numeric 功能上等同于 decimal。

money 和 smallmoney

money 货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 -1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。

smallmoney 货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。

近似数字

float 从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。

real 从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。

datetime 和 smalldatetime

datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。

smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。

字符串

char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符。

text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。

Unicode 字符串

nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符。

nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。

ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。

二进制字符串

binary 固定长度的二进制数据,其最大长度为 8,000 个字节。
varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。
image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。

其它数据类型

cursor 游标的引用。

sql_variant
一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。

table
一种特殊的数据类型,存储供以后处理的结果集。

timestamp
数据库范围的唯一数字,每次更新行时也进行更新。

uniqueidentifier
全局唯一标识符 (GUID)。

(0)

相关推荐

  • MSSQL数据类型及长度限制详细说明

    SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型.下面列出系统提供的数据类型集. 可以定义用户定义的数据类型,其是系统提供的数据类型的别名.有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型. 当两个具有不同数据类型.排序规则.精度.小数位数或长度的表达式通过运算符进行组合时: 通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型.有关更多信息,请参见数据类型的优先顺序. 如果结果数据

  • 浅析易语言的数据类型及其长度

    以下是我们整理的关于易语言中数据类型的表格: 数据名称 数据类型长度 字节型 0~255个字节 短整数型 -32,768 到 32,767 之间的数值,尺寸为 2 个字节 整数型 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节 长整数型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值,尺寸为 8 个字节 小数型 3.4E +/- 38 (7位小数) 之间的数值,尺寸为 4 个字

  • MSSQL批量插入数据优化详细

    需求 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据是如何插入的呢?我今天就此问题做个探讨. 压测mvc的http接口看下数据 首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系. mvc接口代码如下: public bool Add(CustomerFeedbackEntity m) { using (var conn=Connection) { stri

  • java和c/c++ 数据类型长度的比较

    1. c语言中的整数类型有char, short, int, long等几种, 下面是C语言对每种数据类型长度的规定: (a). short和long类型的长度不相同 (b). int类型通常同具体机器的物理字长相同 (c). short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是short和int必须最少是16bits, 而long类型必须最少是32bits, 并且short必须比int和long类型要短. 2. sizeof(

  • MySQL数据类型优化原则

    MySQL支持的数据类型很多,选择正确的数据类型对于高性能至关重要.下面几个简单的原则都有助于做出更好的选择. 更小的通常更好 应该尽量使用可以正确储存数据的最小数据类型.更小的数据类型通常更快,因为它们占用更少的磁盘.内存和CPU缓存,并且处理时需要的CPU周期也更少.如果无法确定哪个数据类型时最好的,就选择你认为不会超过范围的最小类型. 简单就好 简单数据类型的操作通常需要更少的CPU周期.例如,整形比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整形更复杂.比如用MySQ内

  • MySQL数据类型全解析

    数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则. 数据类型用于以下目的: 1.允许限制可存储在列中的数据.如:数值数据类型列只能接受数值. 2.允许在内部更有效地存储数据.如:用比文本串更简洁的格式存储数值和日期时间值. 3.允许变换排序顺序.如:数据都作为串处理,则1位于10前,10位于2前(串以字典顺序排序,从左边开始比较,一次一个字符):作为数值数据类型,数值才能正确排序. 一.串数据类型 最常用的数据类型,存储串,如名字.地址.电话号码等. 两种基本的串类型:定长串和

  • 详解易语言中的数据类型

    各种数据存放在磁盘或内存中都有其不同的存放格式,因此就存在不同的数据类型.了解各种数据的特性,对编程开发来说是十分重要. 程序中经常会进行一些运算,易语言中的运算都要使用运算符进行识别处理,并通过运算表达式来完成运算操作.程序中对各数据之间的关系的描述也要通过运算符. 1.易语言的数据类型 一个程序内部应包括两个方面的内容:1.数据的描述.2.操作步骤,即对程序动作的描述. 数据是程序操作的对象,操作的结果会改变数据的内容.打个比方:要做一道菜,做菜前先选择烹饪的原材料(即对数据进行描述),然后

  • SQL SERVER的数据类型

    1.SQL SERVER的数据类型 数据类弄是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同.SQLServer 提供了 25 种数据类型: Binary [(n)] Varbinary [(n)] Char [(n)] Varchar[(n)] Nchar[(n)] Nvarchar[(n)] Datetime Smalldatetime Decimal[(p[,s])]

  • SQL数据类型详解

    (1)二进制数据类型 二进制数据包括 Binary.Varbinary 和 Image Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的. Binary[(n)] 是 n 位固定的二进制数据.其中,n 的取值范围是从 1 到 8000.其存储窨的大小是 n + 4 个字节. Varbinary[(n)] 是 n 位变长度的二进制数据.其中,n 的取值范围是从 1 到 8000.其存储窨的大小是 n + 4个字节,不是n 个字节. 在 Image 数据类型中存储的数据是以

  • Mysql中varchar长度设置方法

    如果某一项中设置的是varchar(50) 那么对英文当然是50 那么对中文呢 utf-8的中文占3个字节 那么,这个varchar(50)是不是只能存16个汉字了? mysql varchar(50) 不管中文 还是英文 都是存50个的 MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串.M 表示最大列长度.M的范围是0到65,535.(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节). 为何会这般变换?真

随机推荐