2 Stimmen

Ist es in Ordnung, Double und Datum in varchar in mysql zu speichern?

Wenn es ist, wie kann ich auf Doppel-und Datum abfragen, ich meine, es muss eine Möglichkeit, sie zurück zu werfen und sie sortieren sie zum Beispiel sein.

2voto

shoover Punkte 3050

Nein, es ist nicht in Ordnung. Sie sollten die entsprechenden Datentypen verwenden. Laut dem MySQL-Referenzhandbuch ist für die Speicherung von Daten und/oder Zeiten stehen Ihnen DATETIME, DATE, TIMESTAMP, TIME und YEAR zur Verfügung. Für Doubles gibt es verschiedene numerische Typen .

Die Speicherung von Doppelwerten und Datumsangaben in VARCHAR-Feldern kann nur zu Problemen führen und außerdem Leistungsprobleme verursachen.

1voto

Bill Karwin Punkte 493880

Sicherlich kann man das tun, aber warum sollte man das tun, wenn es Datentypen gibt, die das zuverlässiger und mit besserer Leistung erledigen?

Ich glaube, ich rieche hier das EAV-Antimuster...

Aber um Ihre Frage zu beantworten, können Sie eine Zeichenfolge, die Zahlen enthält, in den tatsächlichen numerischen Wert wie folgt umwandeln:

SELECT '123.456' + 0.0;

Sie können eine Zeichenkette, die ein Datumsliteral enthält, in den tatsächlichen Datumsdatentyp umwandeln, indem Sie die STR_TO_DATE() Funktion:

SELECT STR_TO_DATE('Nov 12, 2009', '%M %d,%Y');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X