Maison  >  Article  >  base de données  >  Comment convertir INT en BIT dans MySQL 5.1 ?

Comment convertir INT en BIT dans MySQL 5.1 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 16:01:02993parcourir

How to Convert INT to BIT in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn