-
für SQL Profis: Preisliste runden mit SQL
Ich benötige die Hilfe von einem SQL-Profi:
Ich möchte eine Preisliste aufrunden auf volle 50 Cent, d.h.
alle XXX,00 bis XXX,49 --> XXX,50 und
alle XXX,50 bis XXX,99 --> XXX+1,00
Hat jemand von euch eine Idee, wie man dies über SQL erledigen kann, entweder mit ROUND oder mathematischen Funktionen?
Danke für eure Hilfe
HS
-
Bin zwar keiner, aber diese Formulierung sollte funktionieren:
(ROUND((PREIS + 0,25) * 2, 0))/2
geht bestimmt auch einfacher
Grüße, Andreas
P.S.: Da soll noch mal einer sagen, die Preise würden durch die Euro-Umstellung nicht steigen
-
Hallo Andreas,
vielen Dank für Deinen Tip.
Ich habe die Funktion soeben probiert, leider steht mir die Funktion ROUND nicht zur Verfügung, vermutlich da V3.7.
Das Problem müsste doch mathematisch zu lösen sein?
Gruß
HS
PS: Preise werden bei uns jedes Jahr erhöht. Auch ohne Euroumstellung.
-
Kein ROUND?!?
Weiß leider auch nicht, wie man von Dezimalzahlen einfach das Ende abschneidet, ohne Integer rauszubekommen. Deshab noch etwas umständlicher über zweifache Typumwandlung:
DECIMAL(INTEGER((PREIS+0,5)*2), 10, 2)/2
Wobei die fettgedruckten Zahlen die Genauigkeit des Dezimalfelds angeben und noch auf das Zielfeld angepaßt werden müssen. Am besten mal ein wenig mit SELECT rumprobieren.
P.S.: Na, dann
-
Ich habs glaub ich:
< 0,5
update datei set preisneu =
integer(pralt)+0,5 where
pralt-integer(pralt) < 0,5 and
pralt-integer(pralt) > 0
und >= 0,5
update datei set preisneu =
integer(pralt+0,5) where
pralt-integer(pralt)>= 0,5
Gruß
HS
-
Fast gut, aber INTEGER erlaubt maximal 9 Stellen !
=> decimal(decimal((PREIS+0,5)*2, 11, 0), 11, 2) / 2
Die innere Typumwandlung schneidet die Nachkomma ab, die äussere Typwandlung fügt Nachkomma hinzu.
Die 2-Malige Typwandlung ist erforderlich, da SQL sonst Zwischenergebnisse mit der aktuellen Genauigkeit weiterberechnet.
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By skipper_k in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 19-06-02, 15:53
-
By infomio in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 27-11-01, 19:31
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks