Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

DATEDIFF - Substitua NULL por NOW()


Use COALESCE em vez de:
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

Acho que você queria DATEDIFF(e.time_period_to, e.time_period_from) .

Usando LIMIT sem ORDER BY explícito pode retornar resultado dependente do plano de execução.