Ich verwende Sybase und mache eine Auswahl, die mir eine Spalte mit dem Namen "iftype" zurückgibt, aber der Typ ist int und ich muss in varchar konvertieren. Wenn ich versuche, die Auswahl ohne die Konvertierungsfunktion durchzuführen, wird folgende Fehlermeldung angezeigt:
Fehlercode 257, SQL-Status 37000: Eine implizite Konvertierung vom Datentyp 'VARCHAR' nach 'INT' ist nicht zulässig. Verwenden Sie die CONVERT-Funktion, um diese Abfrage auszuführen.
Ich weiß nicht, wie ich die Funktion implementieren soll CONVERT
. Kann mir bitte jemand helfen?
sql
select
type-conversion
sybase
Murilo
quelle
quelle
Antworten:
Verwenden Sie die Konvertierungsfunktion.
quelle
VARCHAR
,INT
aber ich beantworte seine Frage, nicht die Fehlermeldung.varchar
wo einint
benötigt wird. Sie müssen Ihre eigentliche SQL-Anweisung schreiben, damit wir Ihnen helfen können.varchar(11)
Fall sein, dass die Zahl eine große negative Zahl ist.Verwenden Sie die
STR
Funktion:Argumente
float_expression
Ist ein Ausdruck des ungefähren numerischen (float) Datentyps mit einem Dezimalpunkt.
Länge
Ist die Gesamtlänge. Dies umfasst Dezimalstellen, Vorzeichen, Ziffern und Leerzeichen. Der Standardwert ist 10.
Dezimal
Ist die Anzahl der Stellen rechts vom Dezimalpunkt. Die Dezimalstelle muss kleiner oder gleich 16 sein. Wenn die Dezimalstelle größer als 16 ist, wird das Ergebnis auf 16 Stellen rechts vom Dezimalpunkt abgeschnitten.
Quelle: https://msdn.microsoft.com/en-us/library/ms189527.aspx
quelle
STR()
sollte die richtige Antwort sein, ist es einfacher und weniger fehleranfällig als die Alternativen.Sie können folgende
CAST
Funktion verwenden:quelle
Eigentlich müssen Sie STR oder Convert nicht verwenden. Wählen Sie einfach 'xxx' + LTRIM (1) erledigt den Job. Möglicherweise verwendet LTRIM Convert oder STR unter der Haube.
LTRIM macht auch die Bereitstellung von Länge überflüssig und normalerweise ist Standard 10 für die Konvertierung von Ganzzahlen in Zeichenfolgen ausreichend.
quelle
CONVERT(DATA_TYPE , Your_Column)
ist die Syntax für die CONVERT-Methode in SQL. Mit dieser Konvertierungsfunktion können wir die Daten der Spalte auf der rechten Seite des Kommas (,) in den Datentyp auf der linken Seite des Kommas (,) konvertieren. Siehe Beispiel unten.quelle