Mysql
 sql >> Database >  >> RDS >> Mysql

Annotazione formula ibernazione - Funzioni MySql:INTERVALLO, GIORNO

Quale dialetto MySQL stai usando?Se MySqlDialect o MySql5Dialect puoi usare quanto segue:

SELECT count(history.city_id) FROM history where timediff(now(), history.ts) < '720' and history.city_id = id

Oppure definisci una nuova funzione di ibernazione

public class ExtendedMySQL5Dialect extends MySQL5Dialect 
{
        public ExtendedMySQL5Dialect() 
        {
           super();
           registerFunction( "date_sub_interval", new SQLFunctionTemplate( Hibernate.DATE, "date_sub(?1, INTERVAL ?2 ?3)" ) );
           registerFunction( "date_add_interval", new SQLFunctionTemplate( Hibernate.DATE, "date_add(?1, INTERVAL ?2 ?3)" ) );           
        }
}

Domanda:

History.ts < date_sub_interval(now(), 30, DAY)