Maison >base de données >tutoriel mysql >Comment convertir des entiers en bits dans 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!