Maison > base de données > tutoriel mysql > le corps du texte

Comment convertir INT en BIT dans MySQL 5.1 ?

Linda Hamilton
Libérer: 2024-11-01 16:01:02
original
1087 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal