sql >> Databáze >  >> RDS >> Mysql

DATEDIFF – Nahraďte NULL za NOW()

Použijte COALESCE místo toho:

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

Myslím, že jste chtěli DATEDIFF(e.time_period_to, e.time_period_from) .

Pomocí LIMIT bez explicitního ORDER BY může vrátit výsledek v závislosti na plánu provádění.



  1. 'max_user_connections' nastaveno na 200 – stále dochází k chybě

  2. Jak vybrat odlišné řádky bez použití skupiny po příkazu

  3. JDBC kódování znaků

  4. Atomic UPSERT v SQL Server 2005