time:符合ANSI SQL标准,范围00:00:00.0000000 to 23:59:59.9999999,精确到100纳秒,允许指定小数位数,即定义纳秒的位数
datetime2:是date和time类型的组合
datetime:旧版本的日期时间类型,范围1753-01-01 to 9999-12-31,精确到3.33毫秒,datetime类型根据语言设置将字符串转化为日期,"YYYYMMDD"总是可以转化为正确的日期时间类型,"YYYY-MM-DD"可能会被当做"YYYY-DD-MM"格式进行转化,取决于设置,date类型不会有这样的行为
datetimeoffset: datetime2和timezone offset的组合,日期时间部分代表本地时间,timezone offset范围-14:00 to +14:00,表示和UTC时间的偏移量,注意date类型是和时区无关的
GUID就是一个数字分配器,保证一个程序生成的值和其他程序生成的值不冲突,是128位值;在SQL Server中对应的数据类型就是uniqueidentifier,该类型允许的操作只包括=、<>、<、>、<=、>=以及是否为null的检测IS NULL 、IS NOT NULL;该数据类型定义的列上不允许使用IDENTITY;通过NEWID()函数生成新的GUID值,该函数生成的GUID值具有非常大的随机性,有性能问题,NEWSEQUENTIALID()函数试图解决NEWID()函数的随机性,不过它是以牺牲唯一性为代价的
共有两类Collations:SQL Server Collations和Windows Collations,SQL Server Collations用来保持向后兼容性,鼓励使用Windows Collations,SQL Server Collations名称采用如下形式:SQL_SortRules[_Pref]_CPCodePage_ComparisonStyle
Alias data types就是系统内置数据类型的子类型,使用CREATE TYPE语句创建,包含了是否可以为null的说明,通常用来维护应用程序中使用的数据类型的一致性(比如定义了ProductNum类型,其为nvarchar(20),则使用ProductNum定义的列都是nvarchar(20),不会出现在一个表中product number是nvarchar(20),在另一个表中是nvarchar(22));数据库公共角色都自动被授予对Alias data types的REFERENCES权限,即公共角色都自动可以引用创建的Alias data types