Maison > Article > base de données > Comment convertir INT en BIT dans MySQL 5.1 ?
Casting d'un Int en Bit dans MySQL 5.1
Lors de la transition de SQL Server vers MySQL 5.1, tente de convertir une colonne INT contenant uniquement Les 0 et les 1 dans une colonne BIT à l’aide de la fonction CAST échouent. MySQL ne prend pas en charge la conversion d'INT en BIT.
Résoudre le problème
Étant donné que la conversion directe n'est pas réalisable, une solution alternative consiste à créer une fonction personnalisée pour convertir les INT en BIT :
<code class="sql">DELIMITER $$ CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1) BEGIN RETURN N; END $$</code>
Exemple d'utilisation
Pour démontrer la fonction, créez une vue qui convertit diverses valeurs en BIT :
<code class="sql">CREATE VIEW view_bit AS SELECT cast_to_bit(0), cast_to_bit(1), cast_to_bit(FALSE), cast_to_bit(TRUE), cast_to_bit(b'0'), cast_to_bit(b'1'), cast_to_bit(2=3), cast_to_bit(2=2)</code>
Inspection le schéma de la vue utilisant DESCRIBE montrera que toutes les colonnes sont désormais des BIT :
<code class="sql">DESCRIBE view_bit;</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!