Hallo Lu,
vielen Dank für die schnelle Hilfe. Mit diesem String
UPDATE sb2.tblArbeit
SET
AnzStunden = CAST(REPLACE(REPLACE(AnzStunden1, ',', '.'),' ','') AS
DECIMAL (4 , 2 ))
WHERE
AnzStunden IS NULL
;
habe ich es schließlich hingebracht. Vorher musste ich allerdings den
Safe-Mode in der Workstation ausschalten.
Vielen Dank!!
glg,
fred
Hallo Manfred,
Du hast Kommas und Punkte als Dezimaltrennzeichen, das ist mal eines der
Probleme. Weiters vermute ich Leerzeichen, konnte am Bild aber keine
erkennen.
CAST(replace(replace(AnzStunden1,',','.'),' ','') as DECIMAL(4,2) )
sollte das Problem beheben, eleganter wäre es aber das bei der Eingabe zu
überprüfen, denn Eingabefehler sind (fast immer) das größte Problem.
Lu Am 2015-11-18 um 08:21 schrieb Manfred Bertl: Hallo Experten!
In einer Tabelle habe ich Stundenangaben gespeichert, das Feld dazu hat
den Typ VARCHAR. Jetzt will ich aber mit den darin enthaltenen Daten
Berechnungen machen und muss dazu die Werte in DECIMAL umrechnen. Dazu habe
ich eine neue Spalte gemacht, die den notwendigen Typ hat. Jetzt will ich
mittels Abfrage die Daten von der alten Spalte (AnzStunden1) in die neue
Spalte (AnzStundenNew) übertragen. Dazu habe ich einen SQL String
formuliert, der aber schon beim SELECT falsche Werte liefert (siehe Bild:
http://picpaste.de/scrnshot-HXTO25Bn.jpg ).
Wie muß der String formuliert sein, dass der nicht falsch rundet? Oder
warum werden die Nachkommastellen einfach ignoriert?
glg, fred
-- _____________________________________________________ EDV-Systemberatung
* Planung * Installation * Support Manfred BERTL, D-83451 Piding, Wiesenweg
16 Homepage at http://www.edv-bertl.de Tel.: +43-676-89692622
mailto:manfred@edv-bertl.de
- --