sql >> Databasteknik >  >> RDS >> Mysql

DATEDIFF - Ersätt NULL med NOW()

Använd COALESCE istället:

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

Jag antar att du ville ha DATEDIFF(e.time_period_to, e.time_period_from) .

Använder LIMIT utan uttrycklig ORDER BY kan returnera resultat beroende på utförandeplan.



  1. Visa alla frågor som kommer till en Oracle-databas

  2. Datumtid efter en timme efter insättning. Sommartid

  3. Hur använder man GROUP BY för att sammanfoga strängar i MySQL?

  4. Migrera MySQL till PostgreSQL på AWS RDS, del 2