Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Reemplazar "," por ":" en un punto flotante (https://www.clubdelphi.com/foros/showthread.php?t=31499)

DTAR 09-05-2006 20:43:52

Reemplazar "," por ":" en un punto flotante
 
hola gente desde ya gracias por leer este hilo.. :)
resulta que tengo una tabla donde muestra la cantidad de horas extras que realiza una persona y lo tengo almacenado en un campo de tipo float, o extended o real... como mas prefieran.. o sea de punto flotante...
cuando hago la consulta
select * horas_extras
me sale algo asi...

id_empleado cant_horas_extra
1 2,5
2 3,4
4 0,3
. ..
. ..

y dale que va..

estan guardados asi porque en delphi lo programé asi y la parte entera son las horas y la parte decimal son los minutos...
lo que yo quiero hacer es que cuando haga mi consulta me salga de la siguiente forma

Select * from horas_extras
id_empleado cant_horas_extra
1 2:5
2 3:4
4 0:3
. ..
. ..

o sea reemplazar las "," por los ":"
pero quiero hacerlo por consulta en sql.

desde ya gracias..

waltergomez 09-05-2006 22:23:37

Hay varias formas de convertir a cadena y concatenar.
No se que BD usas esto en MySQL 5.0 funciona.
Si usas otra BD fijate que funciones tiene.

Código SQL [-]
select concat(concat(truncate(1.3,0),':'),right(FORMAT(1.3,2),2)) from  horas_extras;

otra forma mas complicada.

Código SQL [-]
select concat(concat(substr(cast(cant_horas_extra as char),1,locate('.',cast( cant_horas_extra as char))-1) ,':'), substr(cast( cant_horas_extra as char),locate('.',cast( cant_horas_extra as char))+1)) from horas_extras;

Saludos,

ContraVeneno 09-05-2006 23:55:07

no se si capte el problema, pero considera que 2,5 no son 2 horas 50 minutos, sino 2:30


La franja horaria es GMT +2. Ahora son las 01:32:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi