Mysql
 sql >> Base de données >  >> RDS >> Mysql

essayer d'obtenir le nombre de mois

L'erreur 1054 est due au fait que la colonne n'existe pas dans la ou les tables définies dans le FROM clause. De plus, le WHERE La clause n'est pas utilisée pour définir une variable ou un alias de colonne - c'est pour filtrer les lignes renvoyées.

Utilisez DATEDIFF :

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

Le LEAST renverra la plus basse des deux dates, elle utilisera donc la date actuelle si la date d'échéance est dans le futur. Vous pouvez utiliser le GREATEST fonction si vous voulez que cela soit inversé.