Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   pasar un varchar hh:mm:ss a integer de segundos (https://www.clubdelphi.com/foros/showthread.php?t=31205)

jmlifi 02-05-2006 08:52:26

pasar un varchar hh:mm:ss a integer de segundos
 
tengo un campo varchar(8) donde se almacena información hh:mm:ss. ¿cómo puedo pasar dicha información a segundos? quiero pasar aun campo integer.

reevil 02-05-2006 09:12:13

por medio de sql no le veo caso, mejor jala esa variable y trabaja con ella en tu aplicacion

1. pasar hh a integer y multiplicarlo por 216000
2. pasar mm a integer y multiplicarlo por 3600
3. pasar ss a integer y sumale los resultados de los pasos 1 y 2

espero te sirva ... es lo que creo que quieres hacer

Lepe 02-05-2006 09:53:30

Podrías crearte tu propia udf (user Defined Function) y usarla en el select.

Al menos en Firebird / Interbase, para otros motores.... a saber ;).

Saludos

roman 02-05-2006 10:03:58

Cita:

Empezado por reevil
1. pasar hh a integer y multiplicarlo por 216000
2. pasar mm a integer y multiplicarlo por 3600
3. pasar ss a integer y sumale los resultados de los pasos 1 y 2

Igual ando medio dormido, pero ¿no sería:

3600*hh + 60*mm + ss

en lugar de

216000*hh + 3600*mm + ss

// Saludos

jmlifi 02-05-2006 10:40:48

estoy realizando pruebas.

Código SQL [-]
select substring(tp from 1 for 2)*3600 + substring(tp from 4 for 2)*60 + substring(tp from 7 for 2)
from piezas


me da error. ¿las funciones convert y cast sirven en firebird?

reevil 02-05-2006 11:00:54

cierto
 
Cita:

Empezado por roman
Igual ando medio dormido, pero ¿no sería:....

:D:D muy cierto


La franja horaria es GMT +2. Ahora son las 11:59:47.

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