Pregunta

Como utilizar DATEDIFF? ¿Cómo puedo hacer que esto funcione? o debería utilizar DATEDIFF completamente diferente?

SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';

Trato de respuesta, ¿cuántos días se encuentran dentro de las dos fechas.

Me gustaría tener una aswer como:
Duración = 7 días;

Tengo este tipo de base de datos:

Iniciado | will_end
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26

¿Fue útil?

Solución

will_end Ponga primero, segundo started:

SELECT  DATEDIFF('2009-12-24', '2009-12-17') 

---
  7

Además, quite las comillas simples de sus nombres de campo:

SELECT  DATEDIFF(will_end, started) AS Duration
FROM    my_table
WHERE   id = 110

o reemplazarlos con los acentos abiertos:

SELECT  DATEDIFF(`will_end`, `started`) AS `Duration`
FROM    `my_table`
WHERE   `id` = 110

Otros consejos

¿Usted está consiguiendo un resultado NULL? Usted tiene los nombres de columna entre comillas simples en su consulta, lo que significa que está de paso del 'Started ' cuerdas y 'will_end' a DATEDIFF en lugar de los valores de las columnas. Trate de no incluir las comillas simples, y usted comenzará a ver algunos resultados:

SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';

Tenga en cuenta que esto le dará un resultado negativo. Para obtener un resultado positivo, invertir el orden de las columnas:

SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';

reemplazar la orden

DATEDIFF ( 'will_end', 'Started')

Creo que hay 3 parámetro a ser aprobada en DATEDIFF (datepart, startdate, enddate)

lo que el código sería DATEDIFF (dd, 'Iniciado', 'will_end')

http://msdn.microsoft.com/en-us/library /ms189794.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top