Pregunta

Estoy utilizando la función de lista para crear un ';' lista de valores delimitados. El tipo es numérico (19,2). Por alguna razón, la precisión parece ser ignorado cuando se utiliza la función de lista. Al realizar un selecto simple en esta columna los valores se ven bien, es decir, "12.00". Sin embargo, si uso una lista () Mis resultados son de formato "12.000000"

Esta es mi uso LISTA:

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

El CONVERT no cambia el resultado. ¿Alguna idea?

Gracias!

¿Fue útil?

Solución

¿Ha tratado explícitamente la conversión de su cadena vacía?

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

Me he encontrado con un problema de tipo de datos similar con las instrucciones CASE en T-SQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top