数据类型

原创 2004年11月03日 09:43:00

在 Microsoft® SQL Server™ 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。

可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype创建用户定义的数据类型

当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:

  1. 通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序

  2. 如果结果数据类型为 charvarchartextncharnvarcharntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序

  3. 结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度

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 支持的各种数据类型(textntexttimestampsql_variant 除外)值的数据类型。

table

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

timestamp

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

uniqueidentifier

全局唯一标识符 (GUID)。

Redis五种数据类型介绍

概述 Redis的键值可以使用物种数据类型:字符串,散列表,列表,集合,有序集合。本文详细介绍这五种数据类型的使用方法。本文命令介绍部分只是列举了基本的命令,至于具体的使用示例,可以参考Redi...
  • hechurui
  • hechurui
  • 2015年10月30日 11:31
  • 29442

linux shell基础五之数据类型

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号 str='thi...
  • a1055186977
  • a1055186977
  • 2017年05月08日 08:32
  • 819

c++ 标准数据类型

int 类型与操作系统,编译器相关 如:win32下为32位,win64下为64位 如果软件有移植需求,请使用固定大小的数据类型 注意:long 的字节数是不随平台改变的,都是4字节...
  • ybhjx
  • ybhjx
  • 2016年07月07日 09:57
  • 424

OpenCV中数据类型和常用数据类型对应关系

在openCV 中经常会遇到需要访问mat类对象中的数据的情况,所以必须真确填写相应的数据类型。1、OpenCV中的数据类型和常用的数据类型对应关系如下:Mat_---------CV_8U Mat-...
  • u012273127
  • u012273127
  • 2017年04月21日 11:03
  • 626

数据类型及其位数区别

[转自:http://cpyjzhen.blog.163.com/blog/static/142939752006112532141727/] C/C++仅仅定义了这些基本数据类型之间的关系,并...
  • b2292486308
  • b2292486308
  • 2017年07月24日 11:02
  • 173

mysql修改数据类型

例如:student表中列sname的类型是char(20),现在要修改为varchar(20),SQL语句如下      alter table student modify column sna...
  • qq_33812828
  • qq_33812828
  • 2017年11月29日 14:25
  • 143

C语言 - 什么是数据类型?数据类型的本质

C语言中提供了许多的数据类型,如下图所示:C语言为什么要引入这么多的数据类型呢?因为C语言归根结底只是一门编程语言,一种让计算机为我们做事情的工具。引入这么多的数据类型是为了更加方便的表现现实世界中事...
  • u014622185
  • u014622185
  • 2015年11月04日 16:57
  • 3235

SQLite 3 中的数据类型

SQLite使用动态类型系统,在SQLite中,值的数据类型和值本身,而不是和它的容器,关联在一起的。SQLite的动态类型系统和其他数据库引擎的静态类型系统是兼容的,这样在静态类型的数据库上执行的S...
  • u012917700
  • u012917700
  • 2017年03月03日 09:19
  • 246

Matlab的数据类型

Matlab在工程中有着非常重要的作用,好多复杂的计算和变换都能通过matlab解决,所以作为一名计算机软件的从业者,我们应该对Matlab有所了解,这是我学习Matlab时所整理的知识点,跟大家分享...
  • xingjiarong
  • xingjiarong
  • 2016年01月25日 16:31
  • 6538

SQL的常用数据类型

几个常用的数据类型的总结。做个笔记ヽ(ー_ー)ノ
  • sinat_38263559
  • sinat_38263559
  • 2017年06月24日 10:59
  • 409
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据类型
举报原因:
原因补充:

(最多只允许输入30个字)