如何对列排序规则进行永久更改?

时间:2019-02-12 03:17:44

标签: sql sql-server

是否有任何配置或选项可以对列排序规则进行永久更改,这样我就不必到处重复COLLATE了?

以下是我的SQL查询:

select
    y.[Key] FieldName,
    (select FieldName 
     from [dbo].GetFields(z.[Key]) 
     where FieldType = y.[Key] COLLATE Chinese_Taiwan_Stroke_CI_AS) COLLATE Chinese_Taiwan_Stroke_CI_AS
from
    FieldTableZ z
outer apply 
    FieldTableY y

1 个答案:

答案 0 :(得分:1)

目前还不清楚您要在这里做什么,以更改整个服务器,数据库或仅针对某些列的排序规则?我会尽力回答所有这些问题。通过简单的Google SQL更改数据库排序规则,可以找到以下内容:

  1. 要更改服务器排序规则,请参阅Microsoft的官方文档:

    如果您需要逐步指南,请按以下步骤操作:

  2. 例如,要更改数据库排序规则:

    ORDER BY mileage

  3. 更改表列的排序规则:

    也就是说,您可以使用

    更改列排序规则
      

    ALTER DATABASE CURRENT COLLATE SQL_Latin1_General_CP1_CI_AI

    如果使用图形表,情况并非如此;图形内部列不能以这种方式更改。

尽管如此,我仍然猜测这些都不适合查询的样子–您在查询中复制了ALTER TABLE [<Table>] ALTER COLUMN [<Column>] <ColumnType> COLLATE <NewCollation>列(看起来像主键),并试图依靠整理的效果..顺便说一句,尽量不要让别人只为您做谷歌搜索工作。