Nous avons un générateur SQL qui émet des instructions conditionnelles SQL de manière générique pour les champs spécifiés (ce qui, pour les besoins de la discussion: nous appellerons myField
).
Si myField
est de type NVARCHAR
, nous pouvons faire une comparaison dudit champ à une chaîne comme ceci: myField = 'foo'
.
Cependant, cela ne fonctionne pas pour les champs de type NTEXT
. Ainsi, nous devons faire la comparaison avec un casting: CAST(myField as NVARCHAR(MAX)) = 'foo'
. Cela fonctionnera en fait si myField
est de type NVARCHAR
ou NTEXT
.
Quelle est la performance de faire le casting susmentionné sur un champ qui est déjà de type NVARCHAR
? Mon espoir est que SQL Server est assez intelligent pour reconnaître dynamiquement ce myField
type déjà NVARCHAR
(en transformant efficacement le CAST
no-op).