Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 05-06-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 26
poliburro Va por buen camino
Código SQL [-]
-- =============================================
-- Create scalar function (FN)
-- =============================================
IF EXISTS (SELECT * 
     FROM   sysobjects 
     WHERE  name = N'')
  DROP FUNCTION CalculaTiempo
GO

CREATE FUNCTION CalculaTiempo(@ValHoraIni as Numeric(4,2), @ValHoraFin as Numeric(4,2))
RETURNS Char(8)
AS
BEGIN


Declare
   @HorIni Integer,
   @MinIni Integer,
   @HorFin Integer,
   @MinFin Integer,
   @TimeIni DateTime,
   @TimeFin DateTime

   Set @HorIni  = ROUND(@ValHoraIni, 0, 1)
   Set @MinIni = (@ValHoraIni - @HorIni) * 100

   Set @HorFin  = ROUND(@ValHoraFin, 0, 1)
   Set @MinFin = (@ValHoraFin - @HorFin) * 100
   Set @TimeIni = Convert(Datetime,'2008-01-01 '+ Cast(@HorIni As Char(2)) + ':' + Cast(@MinIni As Char(2)) + ':00.00',121)
   Set @TimeFin = Convert(Datetime,'2008-01-01 '+ Cast(@HorFin As Char(2)) + ':' + Cast(@MinFin As Char(2)) + ':00.00',121)


   Set @HorIni = Round(DateDiff(mi,@TimeIni, @TimeFin) / 60.0,0,1)
   Set @MinIni = DateDiff(mi,@TimeIni, @TimeFin) - (@HorIni*60)  

   RETURN  Case When @HorIni < 10 Then '0' Else '' End + RTrim(Cast(@HorIni As Char(2))) + ':' + 
           Case When @MinIni < 10 Then '0' Else '' End + RTrim(Cast(@MinIni As Char(2))) + ':00'

END


Código SQL [-]
 
  Select  Database.Dbo.CalculaTiempo(10.40,18.55) As Tiempo
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 05-06-2008 a las 23:21:01. Razón: error
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Time Server Indy pablonill Servers 0 02-04-2008 14:19:52
Lock time out SQL Server connection timed out delphisenda Varios 2 20-09-2007 21:23:07
Crear dll para un programa del que no tengo entero el código fuente entero seduerey Varios 1 02-05-2007 13:58:08
Obtener el time y date del server... uper Firebird e Interbase 1 11-03-2005 15:49:12
De entero a hexa, y hexa a entero (o string) emeceuy Varios 5 02-06-2004 18:23:13


La franja horaria es GMT +2. Ahora son las 09:57:46.


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
Copyright 1996-2007 Club Delphi