sql >> Base de Datos >  >> RDS >> Mysql

DATEDIFF - Reemplace NULL con NOW ()

Usa COALESCE en cambio:

SELECT
    e.id,
    c.name,
    e.location,
    e.designation,
    e.time_period_from,
    e.time_period_to,
    DATEDIFF(COALESCE(e.time_period_to, NOW()), e.time_period_from) AS tenure_in_days
FROM employment e
LEFT JOIN company c ON (c.id = e.company_id)
LIMIT 0, 10

Supongo que querías DATEDIFF(e.time_period_to, e.time_period_from) .

Usando LIMIT sin ORDER BY explícito puede devolver resultados dependiendo del plan de ejecución.