Por resumirlo, quiero quitar los ceros de la derecha de la coma y la coma cuando el número es entero, pero si hay decimales que salgan.
No encuentro forma de realizarlo, ni con sql, ni dando formato en crystal.
¿Alguna idea?
oye, yo no trabajo con sap b1 pero ayudando…se me ocurre que si en algun lado puedes preguntar si el valor, tiene decimal…lo dejes en una variable decimal y sino tiene la pases a una variable de tipo entero !! no se…digo yo tirando ideas !!
Hola fijate si esto te ayuda nunca me falla por ejemplo. La clause convert te da la chanse convertir y castear de varias maneras. Y sino tambien una buena alternativa es el case-else
Buena solución. Pero a mí me confunde que todas las cifras estén alineadas a la derecha y que, por ejemplo, 151.250 no “cante” porque 2.722,50 sobresale más hacia la izquierda. No sé si ven mi punto de vista pero estoy segura que si le presento los datos así a uno de mis directores me va a tirar atrás el informe porque puede no ver “a simple vista” las cifras más voluminosas en caso de no llevar los dos decimales.
De hecho, cuando planteaste la cuestión no le encontré aplicación. Podrías explicarme (ya sólo para satisfacer mi curiosidad) para qué necesitas presentar así las cifras?
Lo que pasa es que ahí solo he presentado la solución al problema.
El formateo del informe logicamente no lleva nada más que la última columna, aquí lo he mostrado con todas para ver el alcance de las modificaciones, pero alineas los campos a la parte entera para que no pase eso y pones el informe bonito…con colores, cuadros, etc… jajaja
Usen una conversión a NUMERIC(19,0) para obtener números sin decimales en sql server.
Aunque en sql server esté el valor sin decimales, en el query manager de SAP aparecerá con decimales por la cantidad de decimales en las Parametrizaciones generales -> Visualizar -> Decimales en consulta.
Para que no aparezca con decimales en el query manager deben convertir el numeric (19,6) que trae SAP B1 a numeric(19,0) y luego a Int.