Hallo Forum!

Ich möchte mir von der AS400 via ODBC u. Ms Query Daten ins Excel holen.

Das Ms Query bei den Aliasnamen u.a. Probleme macht, habe ich ein VIEW erzeugt und hole dieses problemlos ins Excel.

Allerdings gibt's bei der Datumsumsetzung Probleme.

Datum ist in einem nummerischen Feld zB als 20051231 gespeichert.

Nachdem Excel 20051231 nicht als Datum erkennt habe ich in die SQL des VIEWs folgendes eingebaut:

DATE(
LEFT(DIGITS(o500_BELEGDAT1), 4)
CONCAT SUBSTRING(DIGITS(o500_BELEGDAT1), 5, 2)
CONCAT SUBSTRING(DIGITS(o500_BELEGDAT1), 7, 2)
) AS datum

Auf der AS400 schaut's gut aus 05/12/31, aber bei der ODBC-Übertragung ins MS Query krieg ich die Fehlermeldung: "Ungültiger Wert für Datum, Zeit oder Zeitmarke"



Ein Versuch die ganze Geschichte als String rüberzubringen ist ebenfalls erfolglos:

CHAR(
LEFT(DIGITS(o500_BELEGDAT1), 4)
CONCAT '-' CONCAT
SUBSTRING(DIGITS(o500_BELEGDAT1), 5, 2)
CONCAT '-' CONCAT
SUBSTRING(DIGITS(o500_BELEGDAT1), 7, 2)
) AS txtdatum

Komisch ist, dass die Anzeige korrekt 2005-12-31 wiedergibt, das (CHARACTER)Feld aber 22 Zeichen lang ist...

In Excel (bzw. MSQuery) schaut's dann so aus: F2F0F0F560F1F260F2F140

Irgendwo ist da der Wurm drin...