Heim >Datenbank >MySQL-Tutorial >Wie wandelt man in SQL einen INT korrekt in einen String um?

Wie wandelt man in SQL einen INT korrekt in einen String um?

Susan Sarandon
Susan SarandonOriginal
2025-01-24 18:36:13596Durchsuche

How to Correctly Cast an INT to a String in SQL?

Ganzzahlen in Strings in SQL konvertieren

Problem

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>

Auflösung

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!

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