2011-08-12 4 views
0

Je souhaite avoir un type "id" dans Oracle.Oracle: type entier binaire

Un exemple qui satisferait mes besoins serait un entier de 32/64 bits où NULL est représenté par -INT_MIN. Je n'ai pas besoin de longueur variable (comme NUMBER). J'ai envisagé d'utiliser RAW mais je ne crois pas qu'il y ait une conversion implicite de RAW en entiers.

Il semble qu'une option est BINARY_DOUBLE. Est-ce la meilleure approche?

Répondre

3

Utilisez NUMBER(10, 0), ce qui équivaut à NUMBER(10). BINARY_DOUBLE est une représentation à virgule flottante et non un nombre entier. Je suppose, ne pas deviner la base de données, sauf si vous avez une raison particulière de le faire. Vous pouvez vous parler des optimisations de données en coulisse que l'OCB peut faire (bien que je ne sache pas s'il y en a). Vous dites que vous voulez un entier, alors utilisez un entier.

Et pourquoi voudriez-vous représenter NULL comme -INT_MIN? Représentez NULL comme NULL.