En este artículo

La prioridad de intercalación, o reglas de coerción de intercalación, determina lo siguiente:Collation precedence, also known as collation coercion rules, determines the following:

La intercalación del resultado final de una expresión que se evalúa como cadena de caracteres.The collation of the final result of an expression that is evaluated to a character string.

La intercalación utilizada por los operadores que distinguen la intercalación y que utilizan entradas de cadenas de caracteres pero no devuelven una cadena de caracteres, como LIKE e IN.The collation that is used by collation-sensitive operators that use character string inputs but do not return a character string, such as LIKE and IN.

Etiquetas de intercalaciónCollation Labels

En la tabla siguiente se enumeran y describen las cuatro categorías en las que se identifican las intercalaciones de todos los objetos.The following table lists and describes the four categories in which the collations of all objects are identified.El nombre de cada categoría se denomina etiqueta de intercalación.The name of each category is called the collation label.

Etiqueta de intercalaciónCollation label

Tipos de objetosTypes of objects

Coercible-defaultCoercible-default

Cualquier variable, parámetro o valor literal de cadena de caracteres Transact-SQLTransact-SQL, o la salida de una función de catálogo integrada, o una función integrada que no utiliza entradas de cadena, pero genera una salida de cadena.Any Transact-SQLTransact-SQL character string variable, parameter, literal, or the output of a catalog built-in function, or a built-in function that does not take string inputs but produces a string output.

Referencia de columna.A column reference.La intercalación de la expresión (X) se obtiene de la intercalación definida para la columna en la tabla o vista.The collation of the expression (X) is taken from the collation defined for the column in the table or view.

Indica que el valor de una expresión es el resultado de una operación entre dos cadenas que tienen intercalaciones incompatibles de la etiqueta de intercalación implícita.Indicates that the value of an expression is the result of an operation between two strings that have conflicting collations of the implicit collation label.El resultado de la expresión se define como carente de intercalación.The expression result is defined as not having a collation.

Reglas de intercalaciónCollation Rules

La etiqueta de intercalación de una expresión simple que hace referencia a un único objeto de cadena de caracteres es la etiqueta de intercalación del objeto al que se hace referencia.The collation label of a simple expression that references only one character string object is the collation label of the referenced object.

La etiqueta de intercalación de una expresión compleja que hace referencia a dos expresiones de operando con la misma etiqueta de intercalación es la etiqueta de intercalación de las expresiones de operando.The collation label of a complex expression that references two operand expressions with the same collation label is the collation label of the operand expressions.

La etiqueta de intercalación del resultado final de una expresión compleja que hace referencia a dos expresiones de operando con distintas intercalaciones se basa en las reglas siguientes:The collation label of the final result of a complex expression that references two operand expressions with different collations is based on the following rules:

No se permiten las conversiones de páginas de códigos para los tipos de datos text.Code page conversions for text data types are not allowed.No puede convertir una expresión text de una intercalación a otra si tienen páginas de códigos diferentes.You cannot cast a text expression from one collation to another if they have the different code pages.El operador de asignación no puede asignar valores cuando la intercalación del operando de texto de la derecha tiene una página de códigos distinta de la del operando de texto de la izquierda.The assignment operator cannot assign values when the collation of the right text operand has a different code page than the left text operand.

La prioridad de intercalación se determina después de la conversión de los tipos de datos.Collation precedence is determined after data type conversion.El operando del que se obtiene la intercalación resultante puede ser distinto del operando que proporciona el tipo de datos del resultado final.The operand from which the resulting collation is taken can be different from the operand that supplies the data type of the final result.Considere, por ejemplo, el siguiente lote:For example, consider the following batch:

El operador de asignación no distingue la intercalación y la expresión de la derecha se convierte a la intercalación de la izquierda.The assignment operator is collation insensitive and the right expression is cast to the left collation.

El operador de concatenación de cadenas distingue la intercalación, por lo que a los dos operandos de cadena y al resultado se les asigna la etiqueta de intercalación del operando que tiene la prioridad de intercalación más alta.The string concatenation operator is collation sensitive, the two string operands and the result are assigned the collation label of the operand with the highest collation precedence.Las instrucciones UNION ALL y CASE no distinguen la intercalación, y a todos los operandos de cadena y al resultado final se les asigna la etiqueta de intercalación del operando que tiene la prioridad más alta.The UNION ALL and CASE statements are collation insensitive, and all string operands and the final results are assigned the collation label of the operand with the highest precedence.La prioridad de intercalación de los operandos UNION ALL y del resultado se evalúan columna a columna.The collation precedence of the UNION ALL operands and result are evaluated column by column.

Para las funciones integradas que devuelven una cadena pero no reciben una entrada de cadena, la cadena de resultado es Coercible-default, y se le asigna la intercalación de la base de datos actual o la intercalación de la base de datos que contiene la función definida por el usuario, el procedimiento almacenado o el desencadenador en el que se hace referencia a la función.For the built-in functions that return a string but do not take a string input, the result string is Coercible-default and is assigned either the collation of the current database, or the collation of the database that contains the user-defined function, stored procedure, or trigger in which the function is referenced.

Las funciones siguientes distinguen la intercalación y sus cadenas de salida tienen la etiqueta de intercalación de la cadena de entrada:The following functions are collation-sensitive and their output strings have the collation label of the input string: