-
Warum wird eigentlich immer der selbe Mist erzählt?
"SQL selber interessiert das Datums-Format nicht. Das Datums-Format wird nur zur Anzeige der Scallinger Nummer benötigt, wofür das Job-Format herangezogen wird."
Du musst unterscheiden zwischen der Datenbank, die ein Datum/Zeit/Zeitmarke in einer internen Form speichert.
SQL ist aber die Schnittstelle zwischen Datenbank und Programm (auch STRSQL ist ein Programm).
Hier ist sehr wohl das Datumformat wichtig, damit ein Programm mit dieser Art Information umgehen kann.
Ich habe dir schon mal die Frage gestellt, wie ich dann SQL-technisch diese "Scallinger Nummer" abfragen oder auch setzen kann. Bisher bist du mir da die Antwort schuldig geblieben.
SQL akzepiert für ein Datumsfeld auschließlich ein gültiges Datum in einem Datumsformat.
Per "set option datfmt = *EUR" werden die internen Hostvariablen, da hast du Recht, in *EUR definiert.
Somit übergibt SQL ein Datum in EUR.
Die RPG-Runtime konvertiert dann das Datum in das Zielformat, dass dann durchaus abweichend sein kann und bei z.B. *DMY durchaus Laufzeitfehler auslösen kann.
Und sicherlich kann ich in SQL ein Datum in beliebige andere Formate konvertieren:
char(mydate, *iso | *usa | *jis)
Was fehlt sind halt Formate wie DMY, aber da kann ich dann auch in SQL eigene Konvertierungen machen in dem ich die Extractfunktionen YEAR(), MONTH(), DAY() verwende und das Datum anders zusammenschuster.
Immerhin widersprichts du dir da selber:
"Mit EXEC SQL wird nur bestimmt in welchem Format die zusätzlichen Hilfsvariablen für embedded SQL definiert werden."
"Wird allerdings von SQL ein Datum als Parameter übertragen, erfolgt die Übergabe via Reference und wird als ISO-Format interpretiert."
Wenn du dir die Spoolauflösung ansiehts, so wird in der ersten Ebene das definierte Format an SQL übergeben. Dass letztendlich dann die Datenbankebene (hinter SQL) in die interne Form umwandelt ist ja selbst verständlich.
Denn schließlich wird mit auch beim DSPPFM das Datum in Klartext angezeigt.
Definierst du in den Options *EUR musst du in Hostvariablen (also Parametern) natürlich ein Datum in *EUR übergeben. Wobei dies nun durch die RPG-Runtime aufgelöst wird, denn schließlich ist die automatische Hostvariable ja mit *EUR definiert und der RPG-Move/Eval ruft dann die Konvertierung auf. Das hat wiederum nichts mit SQL zu tun.
Similar Threads
-
By lch in forum Intern - Hilfe - Feedback - Tests-Forum
Antworten: 10
Letzter Beitrag: 15-02-21, 11:06
-
By tommi_011 in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 08-09-16, 07:23
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 18-11-15, 15:38
-
By Edi in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 07-11-14, 07:52
-
By RLurati in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 05-08-14, 09:10
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