Wie kann ich umwandeln eines int in ein bisschen in MySQL 5.1?
Ich bin, die einen Wechsel von SQL Server zu MySQL 5.1 und scheinen stolperte versuchen, erstellen Sie eine Tabelle mit einer select-Anweisung so, dass die Spalte ein wenig.
Idealerweise Folgendes funktionieren würde:
CREATE TABLE myNewTable AS
SELECT cast(myIntThatIsZeroOrOne as bit) AS myBit
FROM myOldtable
Aber sql ist sehr unglücklich beim casting ein wenig. Wie kann ich sagen, es wählen Sie eine int-Spalte (die ich kenne nur 0 und 1) als ein bit?
- Warum genau Sie brauchen, um Sie zu wirken, zu wenig? Nicht Ihre Nutzung [TINY]INT? Laut Handbuch casting BIT ist nicht möglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht!
CAST-und CONVERT-nur Arbeit:
Kein Platz für: BIT, BITINT, TINYINT, MEDIUMINT, BIGINT, SMALLINT, ...
Allerdings können Sie Ihre eigene Funktion erstellen, cast_to_bit(n):
Versuchen Sie es selbst, Sie können erstellen der Ansicht mit mehrere Konvertierungen, wie:
... und dann beschreiben Sie es!
Ta-dah!! Jeder bit(1) jetzt!!!
Versuchen
CONV(N,from_base,to_base)
Konvertiert zahlen zwischen verschiedenen Zahlensystemen. Gibt eine string-Repräsentation der Zahl N, umgewandelt von Basis from_base auf Basis to_base. Gibt NULL zurück, wenn ein argument NULL ist. Das argument N wird interpretiert als ein integer, aber kann angegeben werden, wie ein integer oder ein string sein. Die minimale Basis ist 2 und die maximale base ist 36. Wenn to_base ist eine negative Zahl, N ist, gilt als Zahl unterzeichnet. Andernfalls ist N so behandelt, als unsigned.
CONV()
arbeitet mit 64-bit-Präzision.zum Beispiel.
Versuchen Sie eine Länge für den Datentyp bit.
Versuchen Sie es mit Fall: