Collation Functions - TERTIARY_WEIGHTS (Transact-SQL)

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Returns a binary string of weights for each character in a non-Unicode string expression defined with an SQL tertiary collation.

Topic link icon Transact-SQL Syntax Conventions


TERTIARY_WEIGHTS( non_Unicode_character_string_expression )  


Is a string expression of type char, varchar, or varchar(max) defined on a tertiary SQL collation. For a list of these collations, see Remarks.

Return types

TERTIARY_WEIGHTS returns varbinary when non_Unicode_character_string_expression is char or varchar, and returns varbinary(max) when non_Unicode_character_string_expression is varchar(max).


TERTIARY_WEIGHTS returns NULL when non_Unicode_character_string_expression is not defined with an SQL tertiary collation. The following table shows the SQL tertiary collations.

Sort order ID SQL collation
33 SQL_Latin1_General_Pref_CP437_CI_AS
34 SQL_Latin1_General_CP437_CI_AI
43 SQL_Latin1_General_Pref_CP850_CI_AS
44 SQL_Latin1_General_CP850_CI_AI
49 SQL_1xCompat_CP850_CI_AS
53 SQL_Latin1_General_Pref_CP1_CI_AS
54 SQL_Latin1_General_CP1_CI_AI
56 SQL_AltDiction_Pref_CP850_CI_AS
57 SQL_AltDiction_CP850_CI_AI
58 SQL_Scandinavian_Pref_CP850_CI_AS
82 SQL_Latin1_General_CP1250_CI_AS
84 SQL_Czech_CP1250_CI_AS
86 SQL_Hungarian_CP1250_CI_AS
88 SQL_Polish_CP1250_CI_AS
90 SQL_Romanian_CP1250_CI_AS
92 SQL_Croatian_CP1250_CI_AS
94 SQL_Slovak_CP1250_CI_AS
96 SQL_Slovenian_CP1250_CI_AS
106 SQL_Latin1_General_CP1251_CI_AS
108 SQL_Ukrainian_CP1251_CI_AS
113 SQL_Latin1_General_CP1253_CS_AS
114 SQL_Latin1_General_CP1253_CI_AS
130 SQL_Latin1_General_CP1254_CI_AS
146 SQL_Latin1_General_CP1256_CI_AS
154 SQL_Latin1_General_CP1257_CI_AS
156 SQL_Estonian_CP1257_CI_AS
158 SQL_Latvian_CP1257_CI_AS
160 SQL_Lithuanian_CP1257_CI_AS
183 SQL_Danish_Pref_CP1_CI_AS
184 SQL_SwedishPhone_Pref_CP1_CI_AS
185 SQL_SwedishStd_Pref_CP1_CI_AS
186 SQL_Icelandic_Pref_CP1_CI_AS

TERTIARY_WEIGHTS is intended for use in the definition of a computed column that is defined on the values of a char, varchar, or varchar(max) column. Defining an index on both the computed column and the char, varchar, or varchar(max) column can improve performance when the char, varchar, or varchar(max) column is specified in the ORDER BY clause of a query.


The following example creates a computed column in a table that applies the TERTIARY_WEIGHTS function to the values of a char column.

(Col1 char(15) COLLATE SQL_Latin1_General_Pref_CP437_CI_AS,  

See also

ORDER BY Clause (Transact-SQL)