Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man nur die Zeit, nicht das Datum in der Datenbank durch eine SQL-Abfrage speichert

Ihre Spalte muss entweder auf DATETIME oder TIMESTAMP eingestellt sein.

Wenn Sie den Typ TIME verwenden, würde Ihre Abfrage wie erwartet funktionieren.

Wenn Sie einen anderen Spaltentyp verwenden, können Sie die Methode CURTIME() oder CAST(column AS TIME) verwenden, wie in anderen Antworten erwähnt. Dies würde jedoch mehr Speicherplatz auf der Festplatte beanspruchen und zu viel langsameren Abfragen führen, wenn Sie diese auswählen , und verhindern Sie von verschiedenen Betreibern:

z.B. SELECT * FROM table WHERE current_time<'12:00'

Weitere Informationen zu den verschiedenen DATE-Spaltentypen finden Sie hier:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html

Beachten Sie, dass die CURTIME()-Methode keine Standard-SQL-Funktion ist, daher würde dies nur auf MySql

funktionieren