-
Conversion vers unicode
Bonjour,
Je suis en train de convertir une base SQL Server 2005 vers une version SQL Server 2008 en UNICODE.
Je prends en compte les types de données et j'ai une question qui vient et qui vous fera peut-être sourire mais tant pis.
Certaines procédures renvoient dans certains cas une chaîne vide dans un paramètre de sortie. Par exemple, si le résultat d'une requête renvoie nul, la valeur de sortie est une chaîne vide. J'ai vu que les chaînes unicode dans les procédures et fonctions doivent être préfixées d'un N .
Dans le cas d'une chaîne vide, faut-il écrire
Code:
SET @valeurRenvoyee = ''
ou plutôt
Code:
SET @valeurRenvoyee = N''
??
La question se pose aussi pour les chaînes vides dans le requêtes. Par exemple
Code:
WHERE COALESCE(monID, '')
Papy !
(merci Waldar pour la correction :-) )
-
J'utiliserai en effet les N'' pour les chaînes vides, je ne sais pas si cela a un impact derrière mais autant rester cohérent.
-
Bonjour,
Même avis que Waldar, dans le cas contraire, une utilisation de cette variable dans les requêtes obligera le moteur SQL de faire un CONVERT_IMPLICITE lors de l'exécution.
-
Merci pour vos avis que je vais suivre ...