-
Datum die xte + 1 SQL V5R4
Hallo *all,
ich muß per SLQ eine Tabelle in dem das Datum im Format 20000725 drinsteht darauf hin prüfen, ob dieses Datum größer/gleich als das Tagesdatum ist.
Die Funktion date(feldname) >= (current date) funktioniert auch ganz gut, ich bekomme aber beim 6.000 Satz einen Fehler QRY2283 Datenzuordnungsfehler.
Ich habe in den Datumsfeld auch Werte im Format 99999999 die undendlich bedeuten sollen (immer gültig)
Ich vermute ja mal das er darüber stolpert. (Query verarbeitet es übrigens klaglos)
Was kann ich tun um die Sätze doch zu bekommen?
GG
-
date(case when Feld > 99991231 then 99991231 else Feld end)
In Query400 geht das halt nicht, in diesem Fall eine View erstellen, die diesen Ausdruck enthält.
-
Du könntest das Tagesdatum an das Format des Feldes anpassen, zum Beispiel so:
YEAR(CURRENT DATE)*10000 + MONTH(CURRENT DATE)*100 + DAY(CURRENT DATE)
-
Also irgendwie ist da noch der Wurm drin.
Die Daten sehen so aus:
Tja kaum schreibt man es auf sieht man auch den Fehler.....
Tja Pustekuchen, läuft zwar jetzt länger, bekomme aber folgende Meldung:
Ein SELECT/OMIT-Fehler ist in Satz 274025, Satzformat
Wie kann ich mir genau diesen Satz anzeigen lassen? Bzw. wenn da was ungültiges drinsteht den Fehler umgehen?
GG
-
SELECT * FROM Bibliothek/Datei WHERE RRN(Datei) = 274025
-
select * from datei where rrn(datei) = 274025
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke,
in den Sätzen steht dann folgendes:
20.081.231
20.081.231
20.081.231
20.081.231
20.002.003
20.002.003
Die ersten mit 31.12.2008 machen ja noch Sinn, nur 03.20.2000 macht ja dann keinen Sinn.
Wie kann ich denn so einen Müll (Ich liebe Programme ohne Plausibilitätskontrolle) weiter verarbeiten?
GG
PS. Habe jetzt mal eine and > 20100101 davor gehängt, und die scheint dank Optimierung die weiteren Umsetzung nicht mehr zu mache, sprich der SQL fällt nicht auf die Nase.
Heißt ja dann wenn ich mit
and Monat < =12 and Tag <= 31
arbeite das ich den gröbsten Müll aus dem Weg gehe.
-
Du könntest, wie weiter oben geschrieben, das Tagesdatum einmalig an das Format des Feldes anpassen.
Dadurch kannst du beide ganz einfach numerisch miteinander vergleichen, zum Beispiel so:
SELECT * FROM Datei
WHERE Feld >= YEAR(CURRENT DATE)*10000 + MONTH(CURRENT DATE)*100 + DAY(CURRENT DATE)
-
Du mußt ja nicht meinen, nur weil Du es klar und deutlich schreibst würde der andere es auch sofort verstehen.....
Jetzt beim 2. Mal habe ich es verstanden, und es läuft...
manchmal sollte man früher eine Pause machen....
Danke
GG
Similar Threads
-
By KingofKning in forum IBM i Hauptforum
Antworten: 21
Letzter Beitrag: 26-05-14, 15:31
-
By KingofKning in forum IBM i Hauptforum
Antworten: 14
Letzter Beitrag: 17-05-14, 10:33
-
By roti in forum NEWSboard Server Software
Antworten: 2
Letzter Beitrag: 17-02-14, 11:23
-
By dino in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-12-13, 13:59
-
By TR1 in forum NEWSboard Java
Antworten: 1
Letzter Beitrag: 02-11-13, 14:02
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