前几天在设计一个数据库的时候,用的是国外的服务器,SQL2008 R2 的版本,在创建数据库的时候没有注意到默认的排序规则,直接就创建了。
后来在SQL查询数据的时候,发现存在中文的字段查询不出来,查找原因,发现排序规则不是中文排序。
我们知道在安装数据库的时候可以选择默认的排序规则,那现在该怎么办呢?其实也有方法,如下:
首先,修改为单用户模式,然后修改排序规则,再改为多用户模式。
ALTER DATABASE databaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Go
ALTER DATABASE databaseName COLLATE Chinese_PRC_CI_AS
Go
ALTER DATABASE databaseName SET MULTI_USER
Go
如果,一次执行无法修改过来的话,那么请分三次执行,一块一块的执行。
注意:上面的方法是在右键(数据库)-->属性--> Options(选项)的Collocation,修改出错的情况下使用!
如果是表中的字段:
ALTER TABLE 表名 ALTER COLUMN 字段名 数据类型(长度) COLLATE 排列规则
例如:
ALTER TABLE tableName ALTER COLUMN columnName varchar(30) COLLATE Chinese_PRC_CI_AS