2009-02-05 7 views
0

J'utilise la fonction LIST pour créer un ';' liste délimitée de valeurs. Le type est numérique (19,2). Pour une raison quelconque, la précision semble être ignorée lors de l'utilisation de la fonction de liste. Lorsque vous effectuez une sélection simple sur cette colonne, les valeurs semblent bonnes, c'est-à-dire "12.00". Cependant, si j'utiliser une liste() mes résultats sont le format « 12,000000 »Fonction de liste SQL Suppression de précision

Ceci est mon utilisation LISTE:

LIST(case when tblWOService.PricePerVehicle is null then ' ' else CONVERT(decimal(19,2),tblWOService.PricePerVehicle end,';') 

Le CONVERT ne change pas le résultat. Des idées?

Merci!

Répondre

1

Avez-vous essayé de convertir explicitement votre chaîne vide?

LIST(
    case when tblWOService.PricePerVehicle is null then CONVERT(decimal(19,2),' ') 
     else CONVERT(decimal(19,2),tblWOService.PricePerVehicle) end,';' 
) 

J'ai rencontré un problème de type de données similaire avec les instructions CASE dans T-SQL.

Questions connexes