SQL server常见数据类型的了解

     大体的分为 字符,2进制,数值,日期,其他类型

字符

char 是定长的。如char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。

varchar(n) 包含 n 个字节的可变长度且非 Unicode 的字符数据。n 的值(1 - 8,000),存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值(1 - 4,000),字节的存储大小是输入字符个数的两倍。输入的数据字符长度可以是零。

从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。

一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

2进制
bit   允许 0、1 或 NULL     
binary(n)   固定长度的二进制数据。最多 8,000 字节。     
varbinary(n)   可变长度的二进制数据。最多 8,000 字节。     
varbinary(max)   可变长度的二进制数据。最多 2GB 字节。     
image   可变长度的二进制数据。最多 2GB。  
数值型
tinyint   允许从 0 到 255 的所有数字。   1 字节  
smallint   允许从 -32,768 到 32,767 的所有数字。   2 字节  
int   允许从 -2,147,483,648 到 2,147,483,647 的所有数字。   4 字节  
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 字节  
numeric(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 字节  
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 字节  
日期型
datetime   从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。   8 bytes  
datetime2   从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。   6-8 bytes  
smalldatetime   从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。   4 bytes  
date   仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。   3 bytes  
time   仅存储时间。精度为 100 纳秒。   3-5 bytes  
datetimeoffset   与 datetime2 相同,外加时区偏移。   8-10 bytes  
timestamp   存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。

时间: 2024-11-14 12:50:25

SQL server常见数据类型的了解的相关文章

SQL Server常见数据类型的介绍

数据表是由多个列组成,创建表时必须明确每个列的数据类型.以下列举SQL Server常见数据类型的使用规则. 整数类型 int 存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型.(每个数值占用 4字节) smallint 存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据.(每个数值占用 2 字节) tinyint 存储范围是0到255 之间的整数,用来存储有限数目的数值.(每个数值占用 1 字节) bigi

SQL Server常见数据类型介绍

数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅 Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多 8,000 个字符. n varchar(n) 可变长度的字符串.最多 8,000 个字符.   varchar(max) 可变长度的字符串.最多 1,073,741,824 个字符.   text 可变长度的字符串.最多 2GB 字符数据.   Unicode 字符串: 数据类型 描述

SQL Server 2008数据类型

在创建表时,必须为表中的每列指派一种数据类型.本节将介绍SQL Server中最常用的一些数据类型.即使创建自定义数据类型,它也必须基于一种标准的SQL Server数据类型.例如,可以使用如下语法创建一种自定义数据类型(Address),但要注意,它基于SQL Server标准的varchar数据类型. CREATE TYPE Address FROM varchar(35) NOT NULL 如果在SQL Server Management Studio的表设计界面中更改一个大型表中某列的数

SQL SERVER的数据类型(转载)

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

说说SQL Server的数据类型

以SQL Server为例,SQL Server的数据类型总共有33种,归纳为一下类别: 精确数字 Unicode字符串 近似数字 二进制字符串 日期和时间 其他数据类型 字符串   1.数字数据类型 1.1 整数数据类型 数据类别 范围 存储 bigint -2的63次方到2的63次方-1 8字节 int -2的31次方到2的31次方-1 4字节 smallint -2的15次方到2的15次方-1 2字节 tinyint 0~255 1字节 int数据类型是主要的整数数据类型,而超过int的存

Sql Server之数据类型详解

  数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为不同的类型可以节省磁盘空间和资源.  Sql Server 还能自动限制每个数据类型的取值范围,例如定义了一个类型为int的字段,如果插入数据时插入的值的大小在smallint或者tinyint范围之内, Sql Server 会自动将类型转换为smallint 或者tinyint,这样一来,在存储

sql server常见配置函数及其功能

配置函数用于返回配置选项的设置信息,常见如下: [email protected]@DATEFIRST 针对会话返回SET DATEFIRST的当前值,set  datefirst表示指定的每周的第一天, 美国英语中默认1对应星期一,2对应星期二,以此类推,7对应周日,周日在西方表示每周的第一天 示例:以下设置5,周五作为每周的第一天,并假定今天是周五,即今日是以周五为第一天 set datefirst 5 go select @@DATEFIRST 第一天,datepart(DW,getdat

sql server 常见错误代码15000 - 15999含义解析

错误 15000 - 15999 SQL Server 2008 R2 其他版本 错误 严重性 是否记录事件 说明(消息正文) 15001 16 否 对象 '%ls' 不存在或不是此操作的有效对象. 15002 16 否 无法在事务中执行过程 '%s'. 15003 16 否 只有 %s 角色的成员才能执行此存储过程. 15004 16 否 名称不能是 NULL. 15005 10 否 已更新了所有表的统计信息. 15006 16 否 '%s' 是无效名称,因为其中包含无效字符. 15007 1

C#与 SQL Server 的数据类型对应关系

(一)     C#与SQL Server 2005(或以下版本): C# C#取值 SQL Server SQL Server取值 System.DateTime samlltime System.Object variant (二)     C#与SQL Server 2008(或以上版本): C# C#取值 SQL Server SQL Server取值 System.Boolean true/false bit 1/0 System.SByte -128~127 System.Byte