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

come salvare solo l'ora e non la data nel database tramite query sql

La colonna deve essere impostata su DATETIME o TIMESTAMP.

Se utilizzi il tipo TIME, la tua query funzionerebbe come previsto.

Se stai usando qualsiasi altro tipo di colonna, puoi usare il metodo CURTIME() o CAST(colonna AS TIME) come menzionato da altre risposte, tuttavia questo occuperebbe più spazio su disco e renderebbe le query molto più lente se usi per selezionare , e ti impediscono di diversi operatori:

per esempio. SELECT * FROM table WHERE current_time<'12:00'

Puoi visualizzare ulteriori informazioni sui diversi tipi di colonna DATE qui:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html

Nota che il metodo CURTIME() non è una funzione SQL standard, quindi funzionerebbe solo su MySql