Wie legen Sie die Genauigkeit und die Dezimalstellen in ALTER TABLE
Ich habe funktionierenden code mit PostgreSQL 9.3:
ALTER TABLE meter_data ALTER COLUMN w3pht TYPE float USING (w3pht::float);
aber nicht wissen, wie man Präzision und Skala.
InformationsquelleAutor Akash Kumar | 2014-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Art
float
nicht über Genauigkeit und Umfang. Verwendennumeric(Präzision, Skalierung)
statt, wenn Sie das brauchen.Pro Dokumentation:
Für das angegebene Beispiel:
Handbuch:
Beispiel: wenn der alte Datentyp ist
text
müssen Sie dieUSING
- Klausel. Wenn esfloat
Sie nicht.Nein, die speziellen code funktioniert nicht. Die Spalte Typ unbegrenzte Präzision, sondern alle vorhandenen Werte wurden auf 2 Dezimalstellen gerundet.
Ich habe eine richtige
ALTER
- Anweisung.InformationsquelleAutor Erwin Brandstetter
Als pro PostgreSQL-Dokumentation, Sie kann wählen Sie die minimale Anzahl für die floating-point-zahlen mit syntax
float(n)
won
ist die minimale Anzahl von binäre Ziffern, bis zu 53.Jedoch zum speichern von Dezimalzahlen an alle, mit
numeric(precision, scale)
oder seinem synonymdecimal(precision, scale)
aber beachten Sie, dass diese sind schwer Grenzen; gemäß der Dokumentation:Damit Ihr alter table könnte:
für die 2 Ziffern rechts vom Dezimalzeichen und insgesamt 10 Ziffern. Allerdings, wenn Sie nicht
müssen angeben, Grenzen, einfache
numeric
ermöglichen "bis zu 131072 stellen vor dem Komma, bis zu 16383 stellen nach".InformationsquelleAutor Antti Haapala