J'ai un comportement étrange dans t-sql. Donner le test suivantComportement étrange: T-sql char/string concaténation char
DECLARE @a char(22) = 'John went to buy a car', @b char(15)= 'Tom went to pub';
SELECT IIF(1=1 , @a, @b)+'. He met a friend';
ok sortie: John est allé acheter une voiture. Il a rencontré un ami.
SELECT IIF(1=2 , @a, @b)+'. He met a friend';
mal de sortie:
Tom went to pub . He met a friend.
La concaténation de ombles variables attribue 22 caractères si le test est vrai, et 22 caractères autrement! Ainsi, dans la concaténation de char à travers IIF (mais la même chose arrive avec CASE) la sortie est allouée pour la première expression (la variable @b est considérée comme 22 caractères!) Des idées?
Merci! C'est une excellente réponse. – user1732337