Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Opérateur incorrect pour le type de données. L'opérateur est add, le type est sql_variant

0000001254     -      01/02/2011

Notre fonction TRANSFORM écrite pour le serveur SQL renvoie un SqlVariant. Ce type de champ n’est pas concaténable avec une autre chaîne de caractère. Il faut donc forcer un transtypage vers un type char.

Dans votre requête, il faut donc remplacer

transform(q,m.PICT_Q)

par

cast(transform(q,m.PICT_Q) as char(15))


La requête suivante :

select transform(q,m.PICT_Q)+' | '+pieds_v.journal+' | '+str(pieds_v.piece)+' | '+cli_x.c_nom as ligne from pieds_v (NOLOCK),lignes_v (NOLOCK),cli_x (NOLOCK) where (id_cli=cli_x.c_id) and (pieds_v.id+pieds_v.journal+str(pieds_v.piece,10)=lignes_v.id+lignes_v.journal+str(lignes_v.piece,10)) and (pieds_v.type=3) and (left(id_article,10)=?m.l_id) order by date

produit cette erreur : Opérateur incorrect pour le type de données. L'opérateur est add, le type est sql_variant

Ou est l'erreur ? Merci d'avance.