Tenemos un generador de SQL que emite sentencias condicionales de SQL de forma genérica para campos específicos (que en aras de la discusión: etiquetaremos como myField
).
Si myField
es de tipo NVARCHAR
, podemos hacer una comparación de dicho campo contra una cadena de este modo: myField = 'foo'
.
Sin embargo, esto no funciona para campos de tipo NTEXT
. Por lo tanto, tenemos que hacer la comparación con un reparto: CAST(myField as NVARCHAR(MAX)) = 'foo'
. De hecho, esto funcionará si myField
es de tipo NVARCHAR
o NTEXT
.
¿Cuál es el éxito en el rendimiento de hacer el elenco antes mencionado en un campo que ya es de tipo NVARCHAR
? Espero que SQL Server sea lo suficientemente inteligente como para reconocer dinámicamente que myField
ya es de tipo NVARCHAR
(convirtiendo efectivamente CAST
en un no-op).