2010-12-27 17 views
7

¿Cómo puedo obtener el minuto total para sql datetime?datetime a totalminute en sql

Digamos:

select getdate() from table 

De esta manera, voy a tener todo, pero sólo quiere conseguir minuto total. Por ejemplo, si el tiempo es 07:10:35, quiero 430.

¿Cómo lograr eso? El valor del campo es 01-01-2001 07:10:40 El resultado que quiero es 430 ((7 * 60) +10) solamente

+3

Su pregunta no es particularmente claro. –

Respuesta

17

He aquí una muestra:

DECLARE @dt datetime 
SET @dt = '01-01-2001 07:10:20' 
SELECT DATEDIFF(MINUTE, DATEADD(DAY, DATEDIFF(DAY, 0, @dt), 0), @dt) 
+0

devuelve este error (No se puede asignar un valor predeterminado a una variable local.) – william

+0

Oh, lo siento; Eché de menos el hecho de que estabas en SQL Server 2005. Lo corregiré. –

+0

Purrrrrrrrrfect – Mukus

1

Esta consulta devolverá el número de minutos después de la medianoche.

declare @now datetime = getdate() 
declare @midnight datetime = CAST(FLOOR(CAST(@now AS FLOAT)) AS DATETIME) 
select datediff(mi, @midnight,@now) 

El código

CAST(FLOOR(CAST("yourDateTimeHere" AS FLOAT)) AS DATETIME) 

convierte cualquier fecha y hora a la medianoche. Use la función de fechador con la función "mi" para obtener el número de minutos después de la medianoche.

Use libros en línea para más matemáticas fecha y hora

+0

El término "medianoche" puede ser engañoso aquí, ya que podría pensar que significa '23: 59: 59', pero en cambio es' 00: 00: 00'. es decir, si desea realizar algunos cálculos basados ​​en la 'medianoche' del '31 de diciembre de 2016', es probable que espere 'Dic 31 11: 59: 59', o ​​quizás' Jan 01 2017 00: 00: 00', pero probablemente no '31 de diciembre 00: 00: 00', que es lo que su código anterior le daría. – JoeBrockhaus

+0

Creo que el término "medianoche" en términos de codificación y 24 horas/hora militar es bastante claro. 00:00:00 es siempre el comienzo de un nuevo día, así que si dijeras 'Medianoche del 31 de diciembre de 2016' SIEMPRE significará 2016/12/31 00: 00: 00.Incluso con un reloj de 12 horas y AM/Designadores de PM, 12:00:00 AM es medianoche, y está designado como mañana por la mañana, es solo que comienza a las 12, lo cual es engañoso. –

Cuestiones relacionadas