si vous traitez avec des chiffres binaires, vous pouvez utiliser un bit field, .: par exemple
bit(64)
est un champ de bits jusqu'à 64 bits significatifs (la taille maximale autorisée).
pour insérer des valeurs constantes, vous pouvez utiliser la b'value » notation comme ceci:
insert into bits values (b'0001001101001');
vous pouvez convertir un champ de bits à un certain nombre en ajoutant simplement 0 ou en utilisant CAST(). Il y a aussi la fonction pratique bin(), hex(), et oct() pour imprimer la valeur dans une base particulière.
si non-numérique, varbinary ou blob serait la méthode de stockage la plus efficace. binary est également disponible (il va tamponner des valeurs plus courtes avec nil octets tho). Si vous ne voulez pas faire face aux conversions, vous pouvez stocker la chaîne dans un varchar ou un char. il utilisera seulement environ 8 fois l'espace d'un varbinary compact.
Pour insérer/lire depuis votre application, vous devez convertir votre séquence en un tableau d'octets compressés, puis stocker la chaîne compressée dans la colonne varbinary. en C#, vous pourriez utiliser BitConverter. en PHP, vous pouvez utiliser pack/unpack.
Le nombre de bits est-il limité? (est la longueur maximale de la chaîne binaire connue, en d'autres termes). – Tarydon
non, ce n'est pas .. le nombre de bits que je veux stocker est variable. – putse
Je ne connais pas votre cas d'utilisation, mais si vous devez absolument renvoyer 00011 de 00011, vous pouvez insérer un 1 devant tous les cas, puis retirer le premier 1 pour insérer 100011 et sortir 100011 – MindStalker