可以设置T-SQL变量的排序规则吗?

时间:2019-06-10 05:23:58

标签: sql-server tsql sql-server-2014

我搜索过高低,但是找不到答案,可以设置变量的排序规则吗?根据{{​​3}},看来只有在SQL Azure上才有可能:

  

-Azure SQL数据仓库和并行数据仓库的语法
  声明
  {{@ @local_variable [AS] data_type} [= value [COLLATE]]} [,... n]

当前我必须这样做:

libsasl2-dev

这是我想做的事

libldap2-dev

我猜答案是否定的,但我想确认一下,至少,其他需要此信息的人将获得确定的答案。

非常感谢。

1 个答案:

答案 0 :(得分:3)

好吧,你猜对了。
在大多数SQL Server系统中(意味着,不包括Azure SQL数据仓库和并行数据仓库),可以在四个级别上设置排序规则:

  1. The default collation of the SQL Server instance

      

    对于使用SQL Server实例安装的所有系统数据库以及所有新创建的用户数据库,服务器归类均充当默认归类。

  2. The default collation of a specific database

      

    您可以使用CREATE DATABASE或ALTER DATABASE语句的COLLATE子句来指定数据库的默认排序规则。使用SQL Server Management Studio创建数据库时,也可以指定排序规则。如果未指定排序规则,则会为数据库分配SQL Server实例的默认排序规则。

  3. 您可以为表的列设置排序规则:

      

    您可以使用CREATE TABLEALTER TABLE语句的COLLATE子句为每个字符串列指定排序规则。使用SQL Server Management Studio创建表时,还可以指定排序规则。如果未指定排序规则,则会为该列分配数据库的默认排序规则。

  4. 您可以使用Collate子句为特定表达式设置排序规则:

      

    您可以使用COLLATE子句将字符表达式应用于某个排序规则。字符文字和变量被分配了当前数据库的默认排序规则。列引用被分配了列的定义排序规则。

是的,除了Azure SQL数据仓库和并行数据仓库外,您不能在本地标量变量上设置排序规则。