SQL server数据类型

String类型:

数据类型:

描述

存储

char(n)

固定长度的字符串。最多 8,000 个字符。定义类型为char(5),那么就表示该类型可以存储5个字符,即使存入2个字符,剩余的3个字符也会用空格补齐。

Defined width

varchar(n)

可变长度的字符串。最多 8,000 个字符。定义类型为varchar(5),那么就表示该类型可以存储5个字符,如果存入2个字符,字符长度就是2而不是5

2 bytes + number of chars

varchar(max)

可变长度的字符串。最多 1,073,741,824 个字符。

2 bytes + number of chars

text

可变长度的字符串。最多 2GB 文本数据。

4 bytes + number of chars

nchar

固定长度的 Unicode 字符串。最多 4,000 个字符。

Defined width x 2

nvarchar

可变长度的 Unicode 字符串。最多 4,000 个字符。

 

nvarchar(max)

可变长度的 Unicode 字符串。最多 536,870,912 个字符。

 

ntext

可变长度的 Unicode 字符串。最多 2GB 文本数据。

 

bit

允许 0、1 或 NULL,如果表中的列为8bit,则这些列作为一个字节存储,如果列为9-16bit,这这些列作为2个字节存储,以此类推

 

binary(n)

固定长度的二进制字符串。最多 8,000 字节。

 

varbinary

可变长度的二进制字符串。最多 8,000 字节。

 

varbinary(max)

可变长度的二进制字符串。最多 2GB。

 

image

可变长度的二进制字符串。最多 2GB。

 


Number
类型:

数据类型

描述

存储

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 或 8 字节


Date
类型:

数据类型

描述

存储

datetime

从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。

8 字节

datetime2

从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。

6-8 字节

smalldatetime

从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。

4 字节

date

仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。

3 bytes

time

仅存储时间。精度为 100 纳秒。

3-5 字节

datetimeoffset

与 datetime2 相同,外加时区偏移。

8-10 字节

timestamp

存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 值基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。


其他数据类型:

数据类型

描述

sql_variant

存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。

uniqueidentifier

存储全局唯一标识符 (GUID)。

xml

存储 XML 格式化数据。最多 2GB。

cursor

存储对用于数据库操作的指针的引用。

table

存储结果集,供稍后处理。

 ----数据类型
/*
1.整型
tinyint,smallint,int,tinyint,bigint
2.浮点型
real,float,decimal,numeric
3.字符型
char,nchar,varchar,nvarchar
4.二进制数据类型
binary,varbinary
5.逻辑数据类型
bit
6.文本数据类型
text,ntext
7.图形数据类型
image
8.表数据类型
table
9.自定义数据类型
sp_addtype
*/ -------------------------------------使用前执行-----------------------------------------
use db_sql_test
GO
--检测表'tb_message1'是否存在,如果存在则删除,这样重复执行·时就不会报错
if exists( select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'tb_message1')
drop table tb_message1
GO
--创建留言信息表'tb_message1'
CREATE table tb_message1
(
留言编号 int identity(1001,1),
留言人 nvarchar(100),
留言内容 text,
留言头像 image
)
GO
if exists(select * from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tb_book01')
drop table tb_book01
GO
--创建图书信息表'tb_book01'
create table tb_book01
(
图书编号 nvarchar(100),
图书名称 nvarchar(100),
图书类别 nvarchar(100)
)
GO
--向该图书信息表插入几条数据
insert into tb_book01 values('book100101','ASP.NET','教学')
insert into tb_book01 values('book100102','C#','教学')
insert into tb_book01 values('book100103','ASP','教学')
insert into tb_book01 values('book100104','SQL','教学')
insert into tb_book01 values('book100105','Oracle','教学') -------------------------------------使用前执行----------------------------------------- ----定义表类型(一般只用于编程环境,相当于临时表格)
use db_sql_test
go
--定义
declare @varTable table(bookid nvarchar(100),bookname nvarchar(100),class nvarchar(100))
--插入数据
insert into @varTable select * from tb_book01
--查看
select * from @varTable ----自定义数据类型
/*
并不是真正的数据类型,只是提供一种加强数据库内部元素和基本元素之间一致的机制
语法:
  sp_addtype [@typename =] type,
  [@phystype =] system_data_type
  [, [@nulltype =] 'null_type']
  [ , [ @owner = ] 'owner_name' ]
各参数说明:
[@typename =] type 指定用户定义的数据类型的名称。
[@phystype =] system_data_type 指定相应的系统提供的数据类型的名称及定义。不能使用TIMESTAMP 数据类型。当所使用的系统数据类型有额外说明时,需用引号将其括起来,如:‘CHAR(8)’。
[@nulltype =] ‘null_type’ 指定用户自定义的数据类型的NULL 属性,其值可为‘NULL’ ‘NOT NULL’或 ‘NONULL’。缺省时与系统默认的NULL 属性相同。
[ @owner = ] 'owner_name' ] 指定用户自定义的数据类型的所有者。
*/ ----exec :执行某个存储过程(execute),如果该语句不是第一个语句
----若这里放一个GO则可省略EXEC
--exrc sp_addtype newint
--,'int',
--'not null'

03_SQL server数据类型的更多相关文章

  1. 为更好地设计数据库,重新整理sql server数据类型

    我们在平常开发过程中,在设计数据的时候,经常碰到数据类型选择的问题,为了更快,更合适地选择正确的数据类型,所以在这里做个总结. 分类 sql server 数据类型 c# 数据类型 描述 应用场景 字 ...

  2. SQL Server 数据类型映射

    SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 SQL Server 的 decima ...

  3. MySql和SQL Server数据类型 对比

    My Sql 数据类型 SQL Server 数据类型 Yes/No bit Smallint(字节型) tinyint Integer(长整型) int Real(单精度浮点型)    real F ...

  4. SQL Server数据类型与SDE库表sde_type对照表

    SDE_column_registry 表管理所有注册列. 警告:如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新.这可能导致之后的任何数据导出失败. S ...

  5. SQL Server 数据类型映射 (ADO.NET)

    SQL Server 数据类型映射 (ADO.NET) .NET Framework 3.5 更新:November 2007 SQL Server 和 .NET Framework 基于不同的类型系 ...

  6. SQL Server数据类型

    转载:http://www.ezloo.com/2008/10/sql_server_data_type.html    数据类型是数据的一种属性,是数据所表示信息的类型.任何一种语言都有它自己所固有 ...

  7. SQL Server 数据类型 Decimal介绍

    为SQL Server 数据类型,属于浮点数类型.存储数据范围是: -1038~1038-1 的固定精度和小数位的数字.一个decimal类型的数据占用了2~17个字节.decimal数据类型在SQL ...

  8. SQL Server数据类型int、bigint、smallint、tinyint对比表

    SQL Server数据类型int.bigint.smallint.tinyint对比表 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 ...

  9. SQL Server 数据类型映射(转载)

    SQL Server 数据类型映射 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 S ...

随机推荐

  1. 【原创】岁月如歌 一款网易歌单生成pdf的软件

    介绍 这是一款可以将网易云音乐的歌单中所有歌词输出为pdf的软件. 项目持续维护地址 http://brightguo.com/song-list-to-pdf/ 目前没有搜到相关网易歌单导出为pdf ...

  2. 安装virtualbox出现2503、2502的错误提示解决方法

    安装virtualbox右键选择以管理员的身份打开即可

  3. Memcached未授权访问

    概念 memcached是一个内存中的键值存储区,用于存储来自数据库调用.API调用或页面呈现结果的任意小数据块(字符串.对象).memcached简单但功能强大.其简单的设计促进了快速部署.易于开发 ...

  4. some knowledge of language

    1:编译型语言2:解释型语言编译型:编译形成结果,再整体运行解释型:运行产生结果,边解释运行java 特殊(.class)再解释3:脚本语言是解释语言它的优点是方便阅读,不需要写非常多的类型相关的代码 ...

  5. MFC中线程相关知识

    MFC中把线程分为两种类型,UI线程和工作者线程. MFC中启动一个线程的最好方法是调用AfxBeginThread,有两个版本,一个用于启动Ui线程,另外一个用于启动工作者线程.在MFC程序中,只有 ...

  6. 1.1.5 PROB Friday the Thirteenth

    Friday the Thirteenth Is Friday the 13th really an unusual event? That is, does the 13th of the mont ...

  7. Javascript高级编程学习笔记(35)—— DOM(1)节点

    DOM JS由三部分组成 1.BOM 2.DOM 3.ECMAScript ES和BOM在前面的文章已经介绍过了 今天开始JS组成的最后一部分DOM(文档对象模型) 我们知道,JS中的这三个部分实际上 ...

  8. [Postman]Postman导航(3)

    Postman提供了一个多窗口和多标签界面,供您使用API​​. 此界面设计为您提供尽可能多的API空间. 侧边栏 邮差侧边栏可让您查找和管理请求和集合.侧边栏有两个主要选项卡:  历史记录  和   ...

  9. Git:fatal: Authentication failed

    1.删除保存的用户名和密码 执行 下面的命令,删除保存的用户名和密码 git config --system --unset credential.helper 重新操作,提示输入用户名和密码,操作成 ...

  10. Python——爬虫进阶

    课程内容 Python爬虫——反爬 Python加密与解密 Python模块——HashLib与base64    Python爬虫——selenium模块 Python——pytessercat识别 ...