SQL Server - Convertir función a SQL Server

   
Vista:

Convertir función a SQL Server

Publicado por manuel (8 intervenciones) el 13/08/2015 23:32:28
hola a todos ..nuevamente pidiendo su ayuda ... sucede que en access tengo una funcion de suma de horas y minutos

1
2
3
4
5
Public Function TiempoTotal(intervalo As Double) As String
On Error Resume Next
TiempoTotal = DateDiff("h", 0, intervalo) & _
Format$(intervalo, ":nn")
End Function

ahora esta misma función como podría realizarla en sql server.. de antemano muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Convertir función a SQL Server

Publicado por Isaias (3181 intervenciones) el 14/08/2015 18:26:36
Te paso un query que me pidieron alguna vez que hace EXACTAMENTE lo mismo, sumar HORAS, MINUTOS y SEGUNDOS, verifica si lo puedes convertir a función

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
drop table #TEST
create table #TEST(Duracion DATETIME)
 
INSERT INTO #TEST VALUES('1900-01-01 00:00:32.000')
INSERT INTO #TEST VALUES('1900-01-01 00:01:28.000')
INSERT INTO #TEST VALUES('1900-01-01 00:01:02.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:08.000')
INSERT INTO #TEST VALUES('1900-01-01 00:02:13.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:27.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:18.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:17.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:16.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:11.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:39.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:13.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:10.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:19.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:26.000')
INSERT INTO #TEST VALUES('1900-01-01 00:01:46.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:58.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:55.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:32.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:48.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:48.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:58.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:32.000')
INSERT INTO #TEST VALUES('1900-01-01 00:02:14.000')
INSERT INTO #TEST VALUES('1900-01-01 00:01:11.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:21.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:35.000')
INSERT INTO #TEST VALUES('1900-01-01 00:01:05.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:52.000')
INSERT INTO #TEST VALUES('1900-01-01 00:00:18.000')
 
 
SELECT
X.HORAS + (X.MINUTOS/60) + ((X.SEGUNDOS / 60) / 60) AS HORAS,
(X.SEGUNDOS / 60 + X.MINUTOS) % 60 AS MINUTOS,
X.SEGUNDOS % 60 AS SEGUNDOS
FROM ( SELECT
SUM(DATEPART(HH, DURACION)) AS HORAS,
SUM(DATEPART(MI, DURACION)) AS MINUTOS,
SUM(DATEPART(SS, DURACION)) AS SEGUNDOS
from #TEST) 
AS X
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir función a SQL Server

Publicado por manuel (8 intervenciones) el 14/08/2015 18:50:08
Hola amigo ..gracias por contestar ... entiendo bien tu codigo mas la idea es sumar columnas de horas
1 08:50
2 10:21
3 03:42

obtener los valores lo se ..sumarlo como hh:mm es el tema ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias Islas

Convertir función a SQL Server

Publicado por Isaias Islas (3181 intervenciones) el 14/08/2015 19:10:24
¿Y cual es el problema?

El ejemplo que puse fue con el año 1900, o sea, que el año no es importante

¿Ya probaste el código?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar