Cómo utilizar DATEDIFF? ¿Cuántos días hay en el interior de las dos fechas
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
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')