sqlserver2008数据类型

sqlserver2008数据类型

ID:34725892

大小:80.21 KB

页数:8页

时间:2019-03-10

sqlserver2008数据类型_第1页
sqlserver2008数据类型_第2页
sqlserver2008数据类型_第3页
sqlserver2008数据类型_第4页
sqlserver2008数据类型_第5页
资源描述:

《sqlserver2008数据类型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、,那么该操作可能需要很长时间。可以通过在ManagementStudio界面中脚本化这种改变来观察其原因。ManagementStudio再创建一个临时表,采用像tmpTableName这样的名称,然后将数据复制到该表中。最后,界面删除旧表并用新的数据类型重命名新表。当然,此过程中还涉及其他一些用于处理表中索引和其他任何关系的步骤。如果有一个包含数百万条记录的大型表,则该过程可能需要花费十分钟,有时可能是数小时。为避免这种情况,可在查询窗口中使用简单的单行T-SQL语句来更改该列的数据类型。例如,要将Employees表中Job

3、Title列的数据类型改为varchar(70),可以使用如下语法。1.ALTER TABLE HumanResources.Employee ALTER COLUMN JobTitle Varchar(70) 说明:在转换为与当前数据不兼容的数据类型时,可能丢失重要数据。例如,如果要将包含一些数据(如15.415)的numeric数据类型转换为integer数据类型,那么15.415这个数据将四舍五入为整数。您可能想对SQLServer表编写一个报表,显示表中每列的数据类型。完成这项任务的方法有很多种,但最常见的一种方法是连接

4、sys.objects表和sys.columns表。在下面的代码中,有两个函数可能不太为您所熟悉。函数TYPE_NAME()将数据类型id转换为适当的名称。要进行反向操作,可使用TYPE_ID()函数。需要注意的另一个函数是SCHEMA_ID(),它用于返回架构的标识值。在需要编写有关SQLServer元数据的报表时,这是特别有用的。1.SELECT o.name AS ObjectName, 2.c.name AS ColumnName, 3.TYPE_NAME(c.user_type_id) as DataType 4.FR

5、OM    sys.objects o JOIN sys.columns c 5.ON      o.object_id = c.object_id 6.WHERE   o.name ='Department' 7.and             o.Schema_ID = SCHEMA_ID('HumanResources') 该代码返回如下结果(注意,Name是一种用户定义的数据类型)。1.ObjectName                ColumnName                    DataType 1.-

6、-------------------------------------------------- 2.Department                DepartmentID          smallint 3.Department                Name                        Name 4.Department                GroupName                         Name 5.Department                M

7、odifiedDate        datetime 1.字符数据类型字符数据类型包括varchar、char、nvarchar、nchar、text以及ntext。这些数据类型用于存储字符数据。varchar和char类型的主要区别是数据填充。如果有一表列名为FirstName且数据类型为varchar(20),同时将值Brian存储到该列中,则物理上只存储5个字节。但如果在数据类型为char(20)的列中存储相同的值,将使用全部20个字节。SQL将插入拖尾空格来填满20个字符。如果要节省空间,那么为什么还使用char数据类

8、型呢?使用varchar数据类型会稍增加一些系统开销。例如,如果要存储两字母形式的州名缩写,则最好使用char(2)列。尽管有些DBA认为应最大可能地节省空间,但一般来说,好的做法是在组织中找到一个合适的阈值,并指定低于该值的采用char数据类型,反之则采用va

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。