Ver la Versión Completa : Numeros con formato en sql
santiago14
08-08-2007, 18:59:43
buenas, tengo la siguiente tabla: (firebird 1.5)
nrofactura, fecha, nombre, domic, montototal
nrofactura es integer
montototal es double precision
en la consulta sql quiero mostrar a nrofactura con 8 digitos y a montototal con dos decimales, seria asi:
00000569 para el nrofactura
1568.00 para montototal
La verdad es que no encuentro la manera, supongo que se puede hacer en sql, espero que si. Saludos.
Santiago
Caral
08-08-2007, 19:12:55
Hola
Desconozco si se podra hacer e sql, pero usando Round, en la captura final tal vez te ayude.
Saludos
BlueSteel
08-08-2007, 21:13:42
Hola santiago14
y necesariamente debes darle el formato en la sentencia sql... en donde quieres utilizar los datos... si es un informe no te sale más conveniente darle el formato ahí... o en una pantalla.
lamentablemente todavia no he visto como hacer eso...
BlueSteel
08-08-2007, 21:19:57
tambien puedes usar el FormatFloat..
si Che_Monto es = 25365
FormatFloat('#,',Che_Monto) //-->25.365
FormatFloat('#,00',Che_Monto) //--> 25.365,00
BlueSteel
09-08-2007, 01:03:41
Hola de nuevo...
no se si Firebird lo puede hacer.. pero en SQL Server esta esta funcion
Select Campo1, Campo2, Cast (Campo_Total) As decimal (7,2)
From Tabla1
al menos con eso tienes para dar formato de decimal.. me falta el rellenar con zeros a la izquierda.. pero si lo encuentro te aviso
Cannabis
20-08-2007, 04:56:54
(query1.FieldByName('MontoTotal') AS TFloatField).DisplayFormat:= ',0.00'
Este código lo pones después de abrir el query (query1.open)
santiago14
21-08-2007, 21:24:13
Buen dia muchachos, hace un tiempito consulté sobre como lograr que la misma consulta sql me devuelva los números con formato. Bueno resulta que le encontré la vuelta y ahora se los comento, para el que lo necesite.
Si estamos en firebird 1.5 hay que habilitar las udf y allí tenemos, entre varias funciones, una llamada lpad.
La cosa queda asi:
Select lpad(nro,4,'0'), lpad (nro2,8,'0')...
From tabla
....
El resultado queda:
0002 00002687
0002 00003697
0001 00236984
........
Bastante bueno.
Bueno, gracias y hasta pronto.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.