Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

tentando obter o número de meses


O erro 1054 é porque a coluna não existe na(s) tabela(s) definida(s) no FROM cláusula. Além disso, o WHERE cláusula não é usada para definir uma variável ou alias de coluna -- é para filtrar as linhas retornadas.

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

O MENOS A função retornará a mais baixa das duas datas, portanto, usará a data atual se a data de vencimento for no futuro. Você pode usar o GREATEST função se você quiser que isso seja revertido.