2017-02-18 1 views
0

gespeichert wird, wird diese Abfrage vollständige Datum und Uhrzeit gespeichert. aber ich möchte nur Zeit nicht in der Datenbank speichern. Gibt es dazu eine Abfrage?wie nur Datum und Datum in der Datenbank über SQL-Abfrage

update table set current_time=now(); 
+0

Hint nur funktionieren: ' CURTIME() '. –

+0

Und wenn es eine vorhandene Datetime-Spalte ist: 'CAST (Spalte AS TIME)' – dnoeth

+0

danke Gordon Linoff es funktioniert wirklich für mich. Bitte beantworten Sie diese Frage, und ich werde es bestätigen –

Antwort

1

Ihre Spalte entweder DATETIME- oder einem Zeitstempel gesetzt werden müssen.

Wenn Sie den Typ TIME verwenden, würde Ihre Abfrage wie erwartet funktionieren. Wenn Sie einen anderen Spaltentyp verwenden, können Sie die CURTIME() - Methode oder CAST (Spalte AS TIME) verwenden, wie in anderen Antworten erwähnt. Dies würde jedoch mehr Speicherplatz auf der Festplatte beanspruchen und die Abfrage erheblich verlangsamen Sie verwenden, um verschiedene Operatoren auszuwählen und zu verhindern:

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

Sie können mehr Informationen über die verschiedenen DATE Spaltentypen hier sehen: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html

Beachten Sie, dass die CURTIME() -Methode nicht eine Standard-SQL-Funktion ist, so würde dies auf MySql

+0

Vielen Dank für diese Informationen .. Ich muss es versuchen –

0

U kann CONVERT (time, SYSDATETIME()) als Wert verwenden.

Dies automatisiert Ihren Prozess ohne Current_time = now();

INSERT INTO table SET current_time = CONVERT (time, SYSDATETIME()); 

Sie können auch curtime();

INSERT INTO table SET current_time = curtime(); 

Credits: Salmaan C

Verwandte Themen