Ich habe festgestellt, dass Amazon Redshift die Genauigkeit von Fließkommazahlen auf eine sehr niedrige Genauigkeit (6 Stellen) verkürzt. Gibt es einen Weg dazu?Warum schneidet Amazon Redshift die Genauigkeit dieser JSON-Floatdaten ab?
Beispiel:
SELECT
JSON_EXTRACT_PATH_TEXT('{"a":123456789.5555555, "b":123456789.0}', 'a')::float,
JSON_EXTRACT_PATH_TEXT('{"a":123456789.5555555, "b":123456789.0}', 'b')::float;
Gibt:
json_extract_path_text | json_extract_path_text
------------------------+------------------------
123457000 | 123457000
(1 row)
Vergleichen Sie das mit ganzen Zahlen:
SELECT
JSON_EXTRACT_PATH_TEXT('{"a":123456789, "b":123456789}', 'a')::float,
JSON_EXTRACT_PATH_TEXT('{"a":123456789, "b":123456789}', 'b')::float;
was zur Folge hat:
json_extract_path_text | json_extract_path_text
------------------------+------------------------
123456789 | 123456789
(1 row)
Es scheint, als ob Float mehr Präzision haben sollte, nicht weniger !!!
Danke für jede Einsicht.
Warum brauchen Sie eine solche Genauigkeit in einer analytischen Datenbank? Auf jeden Fall werden Sie AVG und andere statistische Funktionen ausführen, die keine so hohe Genauigkeit benötigen. – Guy