Maison >base de données >tutoriel mysql >Comment convertir des entiers en bits dans MySQL 5.1 ?

Comment convertir des entiers en bits dans MySQL 5.1 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 19:59:30634parcourir

How to Cast Integers as Bits in MySQL 5.1?

Conversion d'entiers sous forme de bits dans MySQL 5.1

Dans MySQL 5.1, une pierre d'achoppement courante lors de la transition depuis SQL Server est l'incapacité de convertir un entier comme un bit en utilisant l'opérateur CAST. Cette limitation est due au fait que l'opérateur CAST ne prend en charge que la conversion vers un ensemble spécifique de types de données, notamment BINARY, CHAR et DATE.

Solution :

Malheureusement, MySQL 5.1 ne permet pas nativement de convertir des entiers en bits. Pour surmonter cette limitation, vous pouvez définir une fonction personnalisée pour convertir l'entier en bit. Voici une fonction personnalisée qui peut être utilisée :

<code class="sql">DELIMITER $$

CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
    RETURN N;
END
$$</code>

Exemple :

Une fois la fonction créée, vous pouvez l'utiliser pour convertir une colonne entière en un colonne de bits. Pour illustrer cela, créons une vue qui convertit diverses expressions en bits :

<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>

Vérification :

Pour vérifier les conversions, utilisez la commande DESCRIBE pour examiner le schéma de la vue :

<code class="sql">DESCRIBE view_bit;</code>

La sortie doit indiquer que toutes les colonnes ont un type de données bit(1).

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