Ich speichere DateTime-Daten in mySql als Zeitstempel, und ich muss die Daten als Unix-Zeitstempel abrufen.Gibt es eine Möglichkeit, einfach `myTable` auszuwählen * und die Zeitstempel als Unix-Zeit zu bekommen?
Ich kann select UNIX_TIMESTAMP(timestampData) from myTable
verwenden.
Aber ich normalerweise select * from myTable1 join myTable2 on ....
die in einigen Fällen bis zu 50 Felder erhalten kann.
was bedeutet, ich muss entweder:
- Option 1:
select *, UNIX_TIMESTAMP(timestamp1), UNIX_TIMESTAMP(timestamp2) from myTables
und ich werde die Daten doppelt und hart - Option 2 zu halten erhalten:
select c1, c2, c3,... , UNIX_TIMESTAMP(timestamp1), UNIX_TIMESTAMP(timestamp2) from myTables
. Dies wäre schwieriger zu schreiben und zu pflegen.
Die Frage ist Gibt es eine Möglichkeit, einfach select * from myTable
und die Zeitstempel als Unix-Zeit zu bekommen?
Nein, gibt es nicht. Wenn Sie das wollten, sollten Sie sie als Unix-Zeitstempel gespeichert haben. – Barmar
Sie möchten nicht alle Felder mit * auswählen. Das ist schlechte Praxis. Sie sollten nur die benötigten Felder auswählen. – Deep
was passiert, wenn Sie die unix_timestamped Felder mit dem gleichen Feldnamen aliasieren? SELECT *, UNIX_TIMESTAMP (timestamp1) AS timestamp1, UNIX_TIMESTAMP (timestamp2) AS timestamp2 ... Es kann hilfreich sein, doppelte Feldwerte vom ersten bis zum letzten zu überschreiben, aber es hängt von Ihrem Controller ab, der in der Frage unbekannt ist. – smozgur