Hi,
wie muß man eigentlich bei SQL Spaltendefinitionen die Spaltenbreite angeben, bei Nachkommastellen? Bei DBF ist es ja 7,2 = 7 Stellen gesamt, 2 davon Nachkomma, 1 für das Komma. Das was ich gerade gegoogelt habe, verwirrt mich ein wenig. Dort steht nämlich, 7,2 würde bedeuten links und rechts vom Komma nur 2 Zahlen. Oder interpretiere ich das falsch?
SQL und numerische felder mit Nachkommazahlen
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
SQL und numerische felder mit Nachkommazahlen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 115 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: SQL und numerische felder mit Nachkommazahlen
So wie Du das dort gelesen hast, glaube ich das nicht wirklich.
Viele Grüße,
Martin
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: SQL und numerische felder mit Nachkommazahlen
also verhält es sich so, wie bei DBF!?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 115 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: SQL und numerische felder mit Nachkommazahlen
Ähnlich. Yup. Das Komma wird nicht mitgezählt. 6,2 heißt 4 vor und 2 nach dem Komma.
Viele Grüße,
Martin
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2832
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 98 Mal
- Danksagung erhalten: 13 Mal
Re: SQL und numerische felder mit Nachkommazahlen
Hallo,
im Zweifel, ausprobieren:
Also, (Gesamtlänge, Dezimalstellen). Zumindest bei MySQL. Es mag aber auch sein, dass bei anderen Systemen - in Abhängigkeit von der Implementierung der Speicherung) - grössere Werte zulässig sind. Bei der AS/400 (DB/2 400) werden numerische Werte standardmässig gepackt abgelegt, und gepackte Felder haben immer eine ungerade Stellenanzahl ...
Aber für den Standard sollte das gelten.
Vorsicht, denn das geht auch ...
Gruss,
Georg
im Zweifel, ausprobieren:
Code: Alles auswählen
mysql> create table dezimal (feld1 decimal (4,2));
Query OK, 0 rows affected (0.12 sec)
mysql> insert into dezimal (feld1) values (3333.33);
ERROR 1264 (22003): Out of range value for column 'feld1' at row 1
mysql> insert into dezimal (feld1) values (333.33);
ERROR 1264 (22003): Out of range value for column 'feld1' at row 1
mysql> insert into dezimal (feld1) values (33.33);
Query OK, 1 row affected (0.05 sec)
Aber für den Standard sollte das gelten.
Vorsicht, denn das geht auch ...
Code: Alles auswählen
mysql> insert into dezimal (feld1) values (33.333);
Query OK, 1 row affected, 1 warning (0.02 sec)
mysql> select * from dezimal;
+-------+
| feld1 |
+-------+
| 33.33 |
| 33.33 |
+-------+
2 rows in set (0.00 sec)
Gruss,
Georg
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.