SQLServer2008新版CTP特性解读

文章作者 100test 发表时间 2007:09:06 12:08:55
来源 100Test.Com百考试题网


  首先,你必须注意要想安装Microsoft SQL Server 2008 July CTP,在你的机子上就不能安装有SQL Server 2000。与SQL Server 2005的安装过程相比,Microsoft SQL Server 2008 July CTP的安装过程会非常的正常。屏幕看上去会显的非常简单。如果要安装覆盖一个先前的CTP版本,比必须先要卸载先前的版本。The July CTP不会升级一个先前的版本。

  在SQL Server 2008中的新的数据类型

  这个版本的Microsoft SQL Server 2008包括了一些我们可以开发的新的数据类型。这些数据类型包括DATE和TIME数据类型。Microsoft同时也包括了HierarchyID系统数据类型。

  在T-SQL 中DATE和TIME数据类型允许按照你的需要仅仅只存储部分datetime数据类型。在Microsoft SQL Server的先前的版本中,存储和获取仅仅是日期和时间需要你同时存储日期和时间值,通过使用一个转化函数来去除你不需要的部分。DATE系统数据类型仅仅存储日期,并且TIME系统数据类型仅仅存储时间。使用DATE和TIME系统数据类型就像使用datetime系统数据类型一样。

  在第一个例子当中,你使用新的数据类型申明了你的变量并且简单的用getdate()函数的返回值设定了变量的值。就像下面显示的其他的时间数据类型一样,time数据类型支持七位的小数点位精确。

  DECLARE @Dt as DATE, @Tm as TIME
  set @Dt = getdate()
  set @Tm = getdate()
  0select @Dt, @Tm

  在第二个例子中,我们创建了一个表格,并使用了date数据类型创建了一列。接着我们使用getdate()的值设置了一个默认的限制。当我们插入了一条记录并且查询了表格之后,我们看到了DateAdded列的值为今天的日期。

  CREATE TABLE dbo.Table_1
  (
  RecordID int NOT NULL,
  DateAdded date NULL,
  DataValue nvarchar(MAX) NULL
  ) ON [PRIMARY]
  TEXTIMAGE_ON [PRIMARY]
  GO
  ALTER TABLE dbo.Table_1 ADD CONSTRAINT
  DF_Table_1_DateAdded DEFAULT getdate() FOR DateAdded
  GO
  INSERT INTO Table_1
  (RecordID, DataValue)
  VALUES
  (1, test)
  GO
  SELECT *
  FROM Table_1
  GO

  在我们的第三个例子中,我们创建了同样的表格,但是没有默认的限制。当我们增加记录的时候我们只是简单的设置DateAdded列的值为getdate()系统函数的值。使用第二个或者第三个例子的代码,输出结果将会是一样的。

  CREATE TABLE dbo.Table_1
  (
  RecordID int NOT NULL,
  DateAdded date NULL,
  DataValue nvarchar(MAX) NULL
  ) ON [PRIMARY]
  TEXTIMAGE_ON [PRIMARY]
  GO
  INSERT INTO Table_1
  (RecordID, DateAdded, DataValue)
  VALUES
  (1, getdate(), test)
  GO
  SELECT *
  FROM Table_1
  GO

  Microsoft已经加入了一个第三日期系统数据类型。这个第三系统数据类型是datetime2。它就像已经使用了很多年的datetime数据类型一样,但是它要更加准确。当datetime数据类型精确到千分之一秒的时候,它被四舍五入到.000, .003 或者.007秒钟。datetime2数据类型精确到100纳秒(七位小数位)。当我们使用datetime2数据类型的时候,你可以通过使用datetime2(n)选择要精确到的小数位,从零到七位。datetime2数据类型的值的设置方法同datetime的设置方法一致。



相关文章


把DB2V8数据库系统迁移到DB2V9
在We here和DB2中使用标准数据格式
SQLServer2008新版CTP特性解读
恢复整个SQL数据库还是只恢复错误文件组
JAVA几个常见错误简析
Java学习路径(三)过程篇
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛