Heim  >  Artikel  >  Datenbank  >  Wie wandelt man in MySQL 5.1 Ganzzahlen in Bits um?

Wie wandelt man in MySQL 5.1 Ganzzahlen in Bits um?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 19:59:30546Durchsuche

How to Cast Integers as Bits in MySQL 5.1?

Ganzzahlen in Bits in MySQL 5.1 umwandeln

In MySQL 5.1 ist ein häufiger Stolperstein beim Übergang von SQL Server die Unfähigkeit, eine umzuwandeln Ganzzahl als Bit mit dem CAST-Operator. Diese Einschränkung entsteht, weil der CAST-Operator nur die Umwandlung in einen bestimmten Satz von Datentypen unterstützt, einschließlich BINARY, CHAR und DATE.

Lösung:

Leider unterstützt MySQL 5.1 erlaubt nativ keine Umwandlung von Ganzzahlen in Bits. Um diese Einschränkung zu überwinden, können Sie eine benutzerdefinierte Funktion definieren, um die Ganzzahl in ein Bit umzuwandeln. Hier ist eine benutzerdefinierte Funktion, die verwendet werden kann:

<code class="sql">DELIMITER $$

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

Beispiel:

Sobald die Funktion erstellt wurde, können Sie sie verwenden, um eine ganzzahlige Spalte in eine umzuwandeln Bit-Spalte. Um dies zu veranschaulichen, erstellen wir eine Ansicht, die verschiedene Ausdrücke in Bits umwandelt:

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

Überprüfung:

Um die Castings zu überprüfen, verwenden Sie den Befehl DESCRIBE, um die zu untersuchen Schema der Ansicht:

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

Die Ausgabe sollte anzeigen, dass alle Spalten den Datentyp bit(1) haben.

Das obige ist der detaillierte Inhalt vonWie wandelt man in MySQL 5.1 Ganzzahlen in Bits um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn