日期:2014-05-19  浏览次数:20526 次

问题
CREATE   TABLE   [dbo].[roomtype]   (
[typeid]   [varchar]   (10)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[typename]   [varchar]   (10)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[area]   [float]   NULL   ,
[bednum]   [int]   NULL   ,
[haircondition]   [bit],  
[htelephone]   [bit],
[htelevision]   [bit],
[htoilet]   [bit],
[price]   [float]   NULL  
)   ON   [PRIMARY]

请问这是什么意思呀!去掉这一句后 "COLLATE   Chinese_PRC_CI_AS   NOT   NULL "   会有什么问题呀
请教了

------解决方案--------------------
collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。

语法
COLLATE < collation_name >

< collation_name > ::=
{ Windows_collation_name } | { SQL_collation_name }

参数
collation_name

是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name。

Windows_collation_name
是 Windows 排序规则的排序规则名称。请参见 Windows 排序规则名称。

SQL_collation_name
是 SQL 排序规则的排序规则名称。请参见 SQL 排序规则名称。

COLLATE 子句只能应用于 char、varchar、text、nchar、nvarchar 和 ntext 数据类型。
参考资料:SQL Server联机丛书