Warum hat die folgende T-SQL-Anweisung:Warum führt MS SQL CAST als bigint zu Int-Überlauf?
select CAST(COALESCE('3537601039',0) as bigint)
Ergebnis im Fehler folgenden, wenn sie gegen MS SQL Server 10 laufen?
Die Konvertierung des Varchar-Wertes '3537601039' übergelaufen eine int Spalte.
Gibt es eine „richtigere“ Weg, um diese Umwandlung eines varchar
zu einem bigint
zu tun, um dieses Problem zu vermeiden würde, wenn die Zahl in Reichweite eines bigint
ist?
Warum sind Sie 'COALESCE' mit statischen Nicht-Null-Werte trotzdem mit? –
@DStanley - vererbtes System. Wenn ich aufhörte zu fragen "warum" mit allem, was ich finde, würde ich nicht in der Lage sein, es funktioniert zu halten;) – feetwet
Nun, Sie könnten es herausnehmen und Ihnen wäre in Ordnung - 'wählen CAST ('3537601039' als bigint)' –