web-dev-qa-db-fra.com

Quelle est la différence entre numérique et flotteur dans la bigquery?

J'ai lu les documents: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-typeshttps://cloud.google.com/bigquery/Price # Données

Je sais que FLOAT est 8 octets tandis que NUMERIC est 16 octets est que la seule différence? Les docs dit que NUMERIC peut gamme -99999999999999999999999999999.999999999 à 99999999999999999999999999999.999999999 Mais cela ne spécifie pas la plage de FLOAT.

12
Luis

Il y a plusieurs différences:

  • Plage: FLOAT peut être aussi gros que ± 2 ^ 1023 (bien qu'il ne puisse pas représenter tous les entiers dans cette plage)

  • Précision près de zéro: proche zéro, FLOAT peut être aussi précis que 2 ^ -1022.

  • NAN/INF: FLOAT a "non un nombre" et des valeurs "infinies" positives et négatives, tandis que NUMERIC ne le fait pas.

  • Taille de stockage: chacun NUMERIC nécessite un stockage de 16 octets, mais FLOAT ne nécessite que 8 octets.

  • Nature imprévisible: comme Ajay allion à, le grand inconvénient de FLOAT est que les chiffres qu'il peut représenter avec précision ne correspondent pas vraiment au nombre de personnes que nous intéressons généralement. En conséquence, le point flottant devrait être utilisé pour des quantités physiques lorsque certaines erreurs sont acceptables. Si vous avez besoin de résultats prévisibles et prévisibles humains, tels que dans des calculs financiers, utilisez NUMERIC

8
David

La principale différence est les floats/les doubles sont des types de points flottants binaires et un chiffre stockera la valeur sous forme de type de point décimal flottant. Donc, le chiffre a une précision beaucoup plus élevée et sont généralement utilisés dans les applications monétaires (financières) nécessitant un degré élevé de précision. Mais dans la performance, le chiffre sage est plus lent que les types de double et float.numeric peut représenter à 100% de tout nombre dans la précision du format décimal, alors que le flotteur et le double, ne peuvent pas représenter avec précision tous les numéros, même les nombres situés à la précision des formats respectifs.

4
Ajay Kharade