Der Versuch, eine Integer-Spalte (INT) direkt in einen VARCHAR-Datentyp in SQL umzuwandeln, kann je nach Datenbanksystem fehlschlagen. Viele SQL-Dialekte unterstützen VARCHAR nicht direkt als Zieltyp für diese Art der Konvertierung.
Beispiel für einen erfolglosen Versuch:
<code class="language-sql">SELECT CAST(id AS VARCHAR(50)) AS col1 FROM t9; SELECT CONVERT(VARCHAR(50), id) AS col1 FROM t9;</code>
Die Lösung besteht darin, INT in einen CHAR-Datentyp statt in VARCHAR umzuwandeln. Dieser Ansatz ist im Allgemeinen mit verschiedenen SQL-Datenbanken kompatibel.
Korrigierte Abfrage:
<code class="language-sql">SELECT CAST(id AS CHAR(50)) AS col1 FROM t9; SELECT CONVERT(id, CHAR(50)) AS col1 FROM t9;</code>
Beachten Sie, dass die Funktionssyntax CONVERT
im Originalbeispiel ebenfalls leicht falsch war. Die richtige Syntax ist entweder:
<code class="language-sql">CONVERT(expr, type)</code>
oder
<code class="language-sql">CONVERT(expr USING transcoding_name)</code>
wobei expr
die zu konvertierende Spalte oder den zu konvertierenden Wert darstellt und type
den Zieldatentyp angibt. Die Variante USING transcoding_name
wird für Zeichensatzkonvertierungen verwendet.
Das obige ist der detaillierte Inhalt vonWie wandelt man in SQL einen INT korrekt in einen String um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!