2014-02-06 102 views
2

在我的数据库中,一个表排序规则与所有其他表不同。在SQL Server 2008中更改表排序规则的查询

我想将表格整理更改为与所有其他表格相同。

现在,我可以通过使用SSMS设计来更改表格排序规则,但我希望使用查询来更改排序规则。目前,我的一个表格整理是Thai_CI_AS,我想更改整理是SQL_Latin1_General_CP1_CI_AS

无法删除表,因为它已经包含数据。

回答

5

千万不要错过consult the documentation。猜测源数据类型和可用性;你可以在表/列名填写:

ALTER TABLE dbo.TableName ALTER COLUMN ColumnName 
    NVARCHAR(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL; 

如果无法查看文档,管理Studio将有时显示你的聪明的方式做一些事情(尽管它并不总是选择做事情是最好的方式)。进入设计屏幕,更改排序规则,而不是单击确定,单击脚本按钮。

0

这是一个有效的解决方案,我应用并测试了其中一个jira数据库表的重置排序规则。

- CHANGED列排序规则PROPERLY ALTER TABLE [schemaName].[TableName] ALTER COLUMN [columnName] [varchar](255) COLLATE SQL_Latin1_General_CP437_CI_AI NOT NULL;

- 检查字符串列排序规则指定表 --Lists与相应的核对所有字符串列 SELECT c.name, c.collation_name FROM SYS.COLUMNS c JOIN SYS.TABLES t ON t.object_id = c.object_id WHERE t.name = 'TableName' and c.collation_name is not null

相关问题