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!