Konvertiert long decimal oder float varchar in SQL Server

Einem der Tisch, an dem ich versuche, die Abfrage hat ein Feld mit dem Typ decimal(38,19). Muss ich es konvertieren zu varchar um für meine perl-DBI-Modul zu verarbeiten. Wie soll ich schreiben, die Konvertierung in SQL zu machen, damit es funktioniert? Speziell, wenn ich dies in SQL Server Management Studio:

select convert(varchar, 19040220000.0000000000000000000)

Bekomme ich:

Msg 8115, Ebene 16, Status 5, Zeile 1

Arithmetischer überlauffehler beim konvertieren von numerischen Daten Typ varchar.

Versuchte ich Runde die Zahl zuerst:

select convert(varchar, round(19040220000.0000000000000000000, 0))

aber das scheint nicht zu funktionieren (gleiche Fehlermeldung). In der Tat round() scheint nicht zu haben eine Wirkung auf, dass die Anzahl aus irgendeinem Grund. Was soll ich tun? Thx.

  • Nicht Sie müssen eine Länge für den Datentyp varchar, dh. verwenden Sie varchar(64)?
InformationsquelleAutor Zhang18 | 2012-01-13
Schreibe einen Kommentar