Ich habe drei Felder, die ich versuche, zu einem großen Feld zu verketten. Zwei der Felder sind Varchar, aber eins ist ein Float. In bestimmten Situationen zeigt das verkettete Feld wissenschaftliche Notation an. Das verkettete Feld sollte ein Varchar sein und die Kombination der drei Felder anzeigen, unabhängig davon, wie sie formatiert sind. Ich sehe sogar wissenschaftliche Notation, wenn ich die beiden varchar-Felder einfach verkette, wenn die Werte alle Zahlen enthalten. Warum passiert das und wie kann ich es beheben? Hier sind einige Beispiele dafür, wie ich versuche, die Verkettung zu tun:CAST numerisch zu varchar gibt wissenschaftliche Notation
Field1 = e.DocumentNo + e.Assignment + CAST(CAST([Amount in LC] as int) as nvarchar(50))
Field2 = CAST(e.DocumentNo + e.Assignment as varchar(255))
ich auch versucht hat, CONVERT verwenden und es bietet nicht das erwartete Ergebnis. DocumentNo ist ein varchar (255) und Assignment ist ein varchar (255), aber wenn ich diese Werte für jedes habe, 5115146916 und 1610000, sieht Field2 wie 5.11515E + 16 aus.
Ich habe auch versucht, CONCAT() mit den Feldern zu verwenden und es erzeugt das gleiche unerwünschte Ergebnis.
@ tsqln00b Ich kann dies auf nicht neu basiert, was ich von der oben verstehen .. können Sie einen SQL-Fiddle mit Beispieldaten bauen? http://sqlfiddle.com/#!6 –
http://sqlfiddle.com/#!6/f6d02/7/0 – tsqln00b
Dies funktioniert für alles, wo der Betrag im LC-Feld nicht mehr als 6 Ziffern ist. CONCAT (DokumentNr, Zuordnung, [Betrag in LC]) – tsqln00b