2017-02-01 3 views
0

Ich habe ein Problem, dass ich eine #TmpTbl in meinem gespeicherten proc erstellt habe, die einen Wert in ein Feld mit einem REAL-Datentyp einfügt. Wenn ich diesen Wert in eine andere Tabelle schreibe, die den Datentyp NVARCHAR (200) hat, wird der ursprüngliche Wert geändert.Umwandlung von realem Datentyp in nvarchar ändert den ursprünglichen Wert

REAL-Datentyp-Wert = 2.122.222 der konvertierte NVARCHAR-Datentyp-Wert = 2122220

+1

Tipp: Es ist hilfreich, mit Datenbank-Fragen zu markieren, sowohl die geeignete Software (MySQL, Oracle, DB2, ...) und Version, z 'sql-server-2014'. Unterschiede in Syntax und Funktionen beeinflussen oft die Antworten. – HABO

Antwort

0

Verwendung STR
https://msdn.microsoft.com/en-us/library/ms189527.aspx

create table t (i int,x nvarchar(200)) 

declare @x real = 2122222 

insert into t (i,x) select 1,@x 
insert into t (i,x) select 2,str (@x) 

select * from t order by i 

+---+--------------+ 
| i | x   | 
+---+--------------+ 
| 1 | 2.12222e+006 | 
+---+--------------+ 
| 2 | 2122222  | 
+---+--------------+ 
+0

Danke für die Hilfe. –

+0

Ihre Begrüßung. Hat es für dich funktioniert? –

+0

Ja, danke. –

Verwandte Themen