Heim  >  Artikel  >  Datenbank  >  Wie konvertiere ich INT in BIT in MySQL 5.1?

Wie konvertiere ich INT in BIT in MySQL 5.1?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 16:01:02993Durchsuche

How to Convert INT to BIT in MySQL 5.1?

Umwandeln eines Int in ein Bit in MySQL 5.1

Beim Übergang von SQL Server zu MySQL 5.1 wird versucht, eine INT-Spalte umzuwandeln, die nur enthält Nullen und Einsen in eine BIT-Spalte mit der CAST-Funktion schlagen fehl. MySQL unterstützt keine Umwandlung von INTs in BITs.

Lösung des Problems

Da eine direkte Umwandlung nicht möglich ist, besteht eine alternative Lösung darin, eine benutzerdefinierte Funktion zu erstellen, in die INTs konvertiert werden BITs:

<code class="sql">DELIMITER $$

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

Beispielverwendung

Um die Funktion zu demonstrieren, erstellen Sie eine Ansicht, die verschiedene Werte 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>

Inspizieren Das Schema der Ansicht, das DESCRIBE verwendet, zeigt, dass alle Spalten jetzt BITs sind:

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

Das obige ist der detaillierte Inhalt vonWie konvertiere ich INT in BIT in MySQL 5.1?. 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