Mysql
 sql >> база данни >  >> RDS >> Mysql

DATEDIFF - Заменете NULL със NOW()

Използвайте COALESCE вместо това:

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

Предполагам, че сте искали DATEDIFF(e.time_period_to, e.time_period_from) .

Използване на LIMIT без изричен ORDER BY може да върне резултат в зависимост от плана за изпълнение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на стойности с апострофи в базата данни

  2. проблем с име на колона "тип" в релсите 3

  3. mySQL CAST и ASC / DESC

  4. Вземете всички вмъкнати идентификатори, когато вмъквате няколко реда с една заявка

  5. Mysql заявка:намалете стойността с 1