2016-05-26 19 views
1

Ich bin neu in SQL! Also, wenn ich die Höhe einer Person zu meiner Tabelle (ex 1.86) hinzufügen möchte, welchen Variablentyp sollte ich verwenden? Tinyint oder Smallint?MySQL Variable für menschliche Größe (Tinyint oder Smallint)

+1

Sie sollten wahrscheinlich erwähnen, welche SQL-Engine Sie verwenden, MySQL, MSSQL, Oracle usw. Wenn Sie den Höhenwert als Dezimalzahl speichern möchten, dann können Sie keinen Integer-Typ wie TINYINT verwenden, müssen Sie suchen bei Festkomma- oder Fließkomma-Datentypen statt. Wenn Sie einen Integer-Typ verwenden würden (z. B. zum Speichern von Zentimetern anstelle von Bruchzahlen), würde ein UNSIGNED TINYINT Sie auf einen Maximalwert von 255 und einen SIGNED TINYINT auf 127 begrenzen, siehe: http://dev.mysql.com /doc/refman/5.7/en/integer-types.html –

Antwort

0

Sie

verwenden sollten

zu speichern :: 1,86 AS menschliche Größe, verwenden DOUBLE (3,2)

in obigen Fall, können Sie auch DECIMAL verwenden können (3,2), aber DECIMAL ist meist verwendet für Finanzzahlen wie DOUBLE verursacht einige Rundungsprobleme.

Storing statistical data, do I need DECIMAL, FLOAT or DOUBLE?

wenn man 1,86 Meter in cm umwandeln kann

dann zu speichern :: 186 cm als menschliche Größe, verwenden SMALLINT

für eine optimale Datentypen:

http://www.developwebsites.net/choose-optimal-mysql-data-type/

0

Ich würde den Dezimalpunkt überspringen und es in Zentimetern speichern.

Dann verwenden Sie einfach UNSIGNED TINYINT (max value of 255 = 2.55 Meter) oder SMALLINT (max value of 32767).

Es würde einen Bruchteil des Byte-Speichers (im Vergleich zu einem FLOAT oder) verwenden und ist wohl besser zu arbeiten.

Verwandte Themen