Mysql
 sql >> Baza danych >  >> RDS >> Mysql

próbuję uzyskać liczbę miesięcy

Błąd 1054 jest spowodowany tym, że kolumna nie istnieje w tabelach zdefiniowanych w FROM klauzula. Dodatkowo WHERE Klauzula nie jest używana do ustawiania zmiennej ani aliasu kolumny — służy do filtrowania zwracanych wierszy.

Użyj DATEDIFF :

SELECT t.member_id,
       DATEDIFF(LEAST(NOW(), t.membership_dueday), t.membership_startdate) / 30
  FROM MEMBERSHIP t

NAJMNIEJ funkcja zwróci najniższą z dwóch dat, więc użyje daty bieżącej, jeśli termin płatności przypada w przyszłości. Możesz użyć GREATEST funkcja, jeśli chcesz to odwrócić.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql min gdzie oświadczenie

  2. Naucz się podstawowych zapytań SQL przy użyciu MySQL

  3. Różnica między lewym sprzężeniem a lewym sprzężeniem zewnętrznym

  4. Kolejność Mysql według określonych wartości ID

  5. mysql sortuj według, najpierw null, a potem DESC