Legen Sie dezimal mit Komma interpretiert wird, als zwei Werte

Ich bin momentan dabei, ein ssrs report und die Schaffung eines mockdata sql-Skript.

In dem script, das ich einfügen möchte, die einen decimal-Wert etwa so:

declare @tempTable table(
  aString varchar(50),
  aDecimal decimal(5,2)
)

insert into @tempTable
values ("somestring", 1,23)

Dem Werte nach "classextender" sind eigentlich ein decimal-Wert mit einem Komma als Dezimaltrennzeichen. SQL interpretiert diese als separate Werte, obwohl, und daher wirft eine Fehlermeldung über zu viele Werte für die Anzahl der Spalten. Wie gehen Sie darüber?

UPDATE

Um es klarzustellen: ich bin in einer region, wo '.' ist ein Trennzeichen für Tausender und", " ist ein Dezimaltrennzeichen.

Setzen Sie zwischen den Anführungszeichen funktioniert auch nicht. Es gibt mir die Error converting data type varchar to numeric Nachricht

  • Kannst du nicht mit einem .?
  • das wäre für das Tausender-Trennzeichen. Also je nach Kultur: keine
  • das Tausendertrennzeichen ist es nur eine Formatierung der Trennzeichen, die Ihre Daten nicht speichern, die mit diesem separator. Formatieren Sie es, wie Sie wollen, in der Anwendung, verbrauchen diese Datenbank, wenn displying es an den Benutzer.
  • und andere: ich habe aktualisiert mein OP zu klären, meine regionalen Einstellungen
  • Sicherstellen, dass die script-Sprache ist auf Englisch (ich denke, es ist bereits), und verwenden Sie 'normal', Trennzeichen Punkt (1.23). In unserer Kultur wird das Komma verwendet, aber alle unsere Skripte laufen in Englisch.
  • Wie werden Sie die Bereitstellung der Wert, um Ihre insert-Anweisung. Bauen Sie die Anweisung dynamisch (man sollte das nicht tun) oder sind Sie mit einem parameter vom Typ string (don ' T tun, entweder) ...oder?
  • Es ist ein großes fest programmierte script, weil ich benutze es als mock-dataset für meine MS melden. Nichts, was ich benutzen werde, nach der design Phase 😉

Schreibe einen Kommentar