Comment puis-je jeter un int à un peu de MySQL 5.1?
Je suis la transition à partir de SQL Server vers MySQL 5.1 et semblent être fauché en essayant de créer une table à l'aide d'une instruction select, de sorte que la colonne est un peu.
Idéalement, la suivante devrait fonctionner:
CREATE TABLE myNewTable AS
SELECT cast(myIntThatIsZeroOrOne as bit) AS myBit
FROM myOldtable
Cependant sql est très malheureux au casting aussi un peu. Comment puis-je lui dire de choisir un int colonne (qui je sais a seulement des 0 et des 1) comme un peu?
Exactement pourquoi vous avez besoin de le jeter aux bits? Pouvez pas utiliser [MINUSCULE]INT? Selon le manuel de la coulée de BITS n'est pas possible.
OriginalL'auteur Zugwalt | 2011-08-02
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas!
CAST et CONVERT seulement:
Pas de place pour l': BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...
Toutefois, vous pouvez créer votre propre fonction cast_to_bit(n):
Essayer vous-même, vous pouvez créer une vue avec plusieurs conversions comme:
... et puis le décrire!
Ta-dah!! Tout le monde est un peu(1) maintenant!!!
OriginalL'auteur Nuno Rafael Figueiredo
Essayer
CONV(N,from_base,to_base)
Convertit les nombres entre différentes bases numériques. Renvoie une chaîne représentant le nombre N, convertie à partir de la base de from_base à base de to_base. Retourne NULL si l'argument est NULL. L'argument N est interprété comme un entier, mais peut être spécifié comme un entier ou une chaîne de caractères. La base minimum est de 2 et au maximum de la base est de 36. Si to_base est un nombre négatif, ce N est considéré comme l'un signé nombre. Sinon, N est traitée comme non signés.
CONV()
fonctionne avec la version 64 bits de précision.par exemple.
la base de la représentation d'un BIT de la colonne est de 2. BIT(n) est une série de jusqu'à (n) 1 bit de chiffres qui peut être zéro ou un. vous pourriez donc à CONV en base 2, mais je ne pense pas que ce travail parce qu'il sonne comme le résultat est un INT.
OriginalL'auteur Charlie
Essayez de spécifier une longueur de bits type de données.
Quel est le message d'erreur exact?
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser près de "bits(1)) COMME myBit DE myOldtable' à la ligne 2
OriginalL'auteur Joe Stefanelli
Essayer à l'aide de cas:
OriginalL'auteur Michael Logutov