2017-05-15 3 views
2

Wie man einen allgemeinen Typ (mit Punkt statt Komma) von Float in SQL Server?SQL-Server Float-Format Globalisierung

Mein SQL Server Management Studio (SSMS) im lokalen Computer zeigt die Nummer mit Komma (23,10). Aber wenn ich mit meinem SSMS auf dem Server versuche, wird die Nummer mit dem Punkt (23.10) angezeigt.

Dies betrifft, wenn ich versuche, eine Nummer einzufügen.

INSERT INTO TableA (ColumnA) VALUES (10.20) 

Es wird 1020 einfügen statt 10,20

Antwort

2
INSERT INTO TableA (ColumnA) VALUES (@val) 

und

double val = ... // or decimal, float, etc... 
cmd.Parameters.Add("val", val); 

dann hört es auf ein Problem zu sein. Wenn Sie SQL-Literale verwenden möchten, müssen Sie . als Dezimalspezifizierer verwenden. Was SSMS zeigt Sie in Ergebnisse ist UI-formatiert (also: i18n/g10n). Raw-TSQL-Eingaben gehorchen solchen Feinheiten jedoch nicht. Auch nicht C#.

+0

Ja, ich benutze Zeitraum. Wenn ich versuche, 10.20 (lokaler Computer) einzufügen, speichert die SQL Server-Datenbank es als 1020, was falsch ist. Aber wenn ich es direkt im Server versuche, speichert es 10.20 –