我感兴趣的是,当创建与该列的排序规则不同的索引时,是否有可能为列指定排序规则? 索引时,字符串数据是根据列的整理或整理数据库排序的吗?
答案 0 :(得分:6)
我不相信你可以。虽然单独记录COLLATE,但您会注意到列出的地方只有3个:
请注意,例如,CREATE TABLE:
<column_definition> ::=
column_name <data_type>
[ FILESTREAM ]
[ COLLATE collation_name ]
...
明确提到了COLLATE子句。
然而,CREATE INDEX:
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON <object> ( column [ ASC | DESC ] [ ,...n ] )
...
请注意,此处允许的所有内容都是列 - 不是列定义,也不是表达式。
我相信索引中每列的排序规则遵循相应表中基础列的排序规则。据我所知,除了在CREATE / ALTER表语句期间为列提供默认排序规则之外,数据库排序规则的用处不多。
答案 1 :(得分:6)
您可以使用所需的排序规则创建计算字段,并在此字段上创建索引。
答案 2 :(得分:5)
尝试制作索引视图并将排序规则添加到select语句中的列。