Principales respuestas
Consulta a un campo tipo float (necesito eliminar el punto que separa enteros de decimales) para pasarlo a un texto plano

Pregunta
-
Estimados
Estoy realizando una consulta a un campo tipo float (necesito eliminar el punto que separa los enteros de los decimales) para pasarlo a un texto plano .txt y no se cual función utilizar.
También me gustaría saber como se pueden concatenar el resultado de varios campos de un registro para que queden en un mismo registro sin espacios ni comas.
Espero su respuesta.
Saludos
Respuestas
-
Entiendo.
Respecto a la consulta sql, debes pasar como argumento de la función REPLACE() el valor calculado por la función SUM(), al parecer lo haces al revés:
SELECT REPLACE(SUM(Impuesto), '.', '') FROM ResumenVentas
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Yngwie Krimen martes, 19 de julio de 2016 14:40
Todas las respuestas
-
tenes que usar en forma conjunta la funcion convert y replace.
Seria alco asi replace(convert(varchar(50), ColumnaFlotante, ',','')
Carlos Ignacio Aguero. DBA SQL Server. Toda mi respeto al pueblo Peruano por la ayuda prestada en la guerra de Malvinas.
-
¿Tiene algún sentido unir la parte fraccionaria a la parte entera? No es lo mismo 350.52 que 35052, ambos son números diferentes. Te recomiendo que replantees lo que intentas realizar.
Hacer lo que pides es simple, mas -reitero- no le veo el sentido
DECLARE @Numero float = 152.23; SELECT REPLACE(@Numero, '.', '');
Para el segundo caso puedes hacer uso de la función STUFF()
DECLARE @Paises table (Pais varchar(100)) INSERT INTO @Paises VALUES ('Colombia'), ('Ecuador'), ('Francia'), ('Venezuela'); SELECT STUFF((SELECT Pais FROM @Paises FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(4000)'), 1, 0, '') Pais
Resultado:
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios -
Williams
La query la realizo porque luego la paso a un archivo de texto plano (TXT) para que la valide un programa bancario, ese programa toma los numeros sin punto decimal, es decir para el ejemplo del importe 350.50 debo colocarlo como 35050 y automaticamente los dos ultimos numeros los reconoce como decimales, por esa razon no puedo incluir el punto decimal ya que al enviarlo al archivo me lo rebota el validador bancario.
En el Select muestro el campo con SUM(impuesto) pero al no me permite agregar REPLACE al usar SUM
-
Entiendo.
Respecto a la consulta sql, debes pasar como argumento de la función REPLACE() el valor calculado por la función SUM(), al parecer lo haces al revés:
SELECT REPLACE(SUM(Impuesto), '.', '') FROM ResumenVentas
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Yngwie Krimen martes, 19 de julio de 2016 14:40
-