Jahr aus Datum ermitteln
Moderator: Moderatoren
Jahr aus Datum ermitteln
Hallo,
ich möchte aus einer csv-basierten Datenbank, die u.a. eine Spalte Datum im Format tt.mm.jjjj enthält, zum einem das Jahr dieses Eintrages ermitteln und in einer sparaten Spalten darstellen. Zum Anderen möchte ich die Differenz zum aktuellen Jahr in einer Spalter darstellen.
Ich ein SELECT Statement für den ersten Teilschritt zusammengestellt, erhalte aber leider keine Inhalte.
SELECT "Datum", RIGHT ( "Datum", 4 ) AS "Jahr" FROM "spg" "spg"
Hat Jemand eine Idee?
Freue mich über eine Hilfe.
Gruß Eric
ich möchte aus einer csv-basierten Datenbank, die u.a. eine Spalte Datum im Format tt.mm.jjjj enthält, zum einem das Jahr dieses Eintrages ermitteln und in einer sparaten Spalten darstellen. Zum Anderen möchte ich die Differenz zum aktuellen Jahr in einer Spalter darstellen.
Ich ein SELECT Statement für den ersten Teilschritt zusammengestellt, erhalte aber leider keine Inhalte.
SELECT "Datum", RIGHT ( "Datum", 4 ) AS "Jahr" FROM "spg" "spg"
Hat Jemand eine Idee?
Freue mich über eine Hilfe.
Gruß Eric
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Eric,
probier mal folgendes:
probier mal folgendes:
Code: Alles auswählen
SELECT "Datum", Year("Datum") AS "Jahr" FROM "spg" "spg"
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo Peter,
vielen Dank für die Hilfe.
Hatte ich auch probiert, jedoch mit dem gleichen Ergebnis. Es wird kein Inhalt angezeigt. Offenbar werden weder String- noch Datumsoperationen ausgeführt, obwohl kein Fehler gemeldet wird. Mir ist noch nicht klar in welchem Format die Felder beim Import des csv-Files verwaltet werden.
Schade.
Gruß Eric
vielen Dank für die Hilfe.
Hatte ich auch probiert, jedoch mit dem gleichen Ergebnis. Es wird kein Inhalt angezeigt. Offenbar werden weder String- noch Datumsoperationen ausgeführt, obwohl kein Fehler gemeldet wird. Mir ist noch nicht klar in welchem Format die Felder beim Import des csv-Files verwaltet werden.
Schade.
Gruß Eric
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Eric,eric hat geschrieben:Hallo Peter,
vielen Dank für die Hilfe.
Hatte ich auch probiert, jedoch mit dem gleichen Ergebnis. Es wird kein Inhalt angezeigt. Offenbar werden weder String- noch Datumsoperationen ausgeführt, obwohl kein Fehler gemeldet wird. Mir ist noch nicht klar in welchem Format die Felder beim Import des csv-Files verwaltet werden.
Schade.
wie wurde die csv-File importiert. Viele sind der Ansicht, dass wenn sie eine csv-Datei oder txt-Datei als Datenquelle angemeldet haben und daraus eine odb-Datei resultiert, dass die Datensätze importiert wurden.
Dem ist allerdings nicht so, es wurde lediglich eine Verbindungsbeschreibung zur csv- oder txt-Datei hergestellt.
Wenn der Import tatsächlich in eine HSQLDB-Datenbank erfolgt ist, müsste auch die von mir formulierte Abfrage funktionieren außer, beim Feld Datum handelt es sich um keine Datumsfeld.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo Peter,
ich habe im OO-Writer die Funktion "Einfügen/Feld/andere//Datenbank//Datenbank hinzufügen" gewählt und dabei das csv-File als Datenbank Quelle angegeben. Änderungen des csv-Files haben unmittelbare Auswirkungen auf die Darstellung der Datenbank. Für mein Verständnis stellt das ebenfalls erzeugte odb-File soetwas wie die Verwaltungshülle um das csv-File dar. Ist dem so? OO-Base stellt diese Spalte in einem Datumsformat dar. Insfoern die Frage wie Spalten mit Inhalten wie einem Datum interpretiert werden? Ich hätte nun vermutet, dass über eine Datums- oder eine Stringoperation eine ergänzende Spalte zu füllen sei. Falsch gedacht?
Gruß Eric
ich habe im OO-Writer die Funktion "Einfügen/Feld/andere//Datenbank//Datenbank hinzufügen" gewählt und dabei das csv-File als Datenbank Quelle angegeben. Änderungen des csv-Files haben unmittelbare Auswirkungen auf die Darstellung der Datenbank. Für mein Verständnis stellt das ebenfalls erzeugte odb-File soetwas wie die Verwaltungshülle um das csv-File dar. Ist dem so? OO-Base stellt diese Spalte in einem Datumsformat dar. Insfoern die Frage wie Spalten mit Inhalten wie einem Datum interpretiert werden? Ich hätte nun vermutet, dass über eine Datums- oder eine Stringoperation eine ergänzende Spalte zu füllen sei. Falsch gedacht?
Gruß Eric
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Eric,
es ist so wie ich vermutet habe, mit der odb-Datei hast Du lediglich eine Verbindung zur csv-Datei hergestellt, damit sie als Datenquelle benutzt werden kann.
Ich habe die Abfrage an einer txt-Datei getestet. Dabei wird das entsprechende Datumsfeld in der Datenquellen-Ansicht ebenfalls als Datumsfeld erkannt (rechte Mausstaste auf Spaltenkopf, Option Spaltenformatierung). Die Abfrage funktioniert. Dasselbe müsste deshalb auch bei einer CSV-Datei funktionieren.
Hast Du bei der From Klausel den Datenbanknamen oder Tabellennamen angegeben. Angegeben werden muss der Name der Tabelle.
es ist so wie ich vermutet habe, mit der odb-Datei hast Du lediglich eine Verbindung zur csv-Datei hergestellt, damit sie als Datenquelle benutzt werden kann.
Ich habe die Abfrage an einer txt-Datei getestet. Dabei wird das entsprechende Datumsfeld in der Datenquellen-Ansicht ebenfalls als Datumsfeld erkannt (rechte Mausstaste auf Spaltenkopf, Option Spaltenformatierung). Die Abfrage funktioniert. Dasselbe müsste deshalb auch bei einer CSV-Datei funktionieren.
Hast Du bei der From Klausel den Datenbanknamen oder Tabellennamen angegeben. Angegeben werden muss der Name der Tabelle.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo Peter,
ich habe den Tabellennamen angegeben.
Hier das vollstänige SELECT Statement, ist ja kein Geheimnis
SELECT "Anrede", "Vorname", "Nachname", "Geburtstag", YEAR( "Geburtstag" ) AS "Jahr" FROM "spg" "spg"
Das Format der Spalte Geburtstag wird als Datum erkannt, das der Spalte Jahr als Zahl.
Ist die Syntax des Statements so OK?
Gruß Eric
ich habe den Tabellennamen angegeben.
Hier das vollstänige SELECT Statement, ist ja kein Geheimnis
SELECT "Anrede", "Vorname", "Nachname", "Geburtstag", YEAR( "Geburtstag" ) AS "Jahr" FROM "spg" "spg"
Das Format der Spalte Geburtstag wird als Datum erkannt, das der Spalte Jahr als Zahl.
Ist die Syntax des Statements so OK?
Gruß Eric
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Eric,
ich kann nichts Falsches erkennen. Weshalb das bei einer csv-Datei nicht funktionieren soll ist mir nicht klar.
Wenn ich etwas mehr Zeit habe, werde ich das bei einer csv-Datei mal testen.
ich kann nichts Falsches erkennen. Weshalb das bei einer csv-Datei nicht funktionieren soll ist mir nicht klar.
Wenn ich etwas mehr Zeit habe, werde ich das bei einer csv-Datei mal testen.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Eric,
ich habe mittels Excel eine csv-Datei angelegt. Der Inhalt sieht wie folgt aus:
Das Ergebnis war:
ich habe mittels Excel eine csv-Datei angelegt. Der Inhalt sieht wie folgt aus:
- Vorname;Nachname;Geburtsdatum
Peter;Gunman;19.08.1922
Carola;Weißnicht;15.11.1923
Code: Alles auswählen
SELECT "Nachname", "Vorname", YEAR( "Geburtsdatum" ) AS "Jahr" FROM "Geburtstage" "Geburtstage" ORDER BY "Nachname" ASC, "Vorname" ASC
- 1922 Gunman Peter
1923 Weißnicht Carola
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Hallo Peter,
ich habe Gestern noch weiter probiert, letztlich hat es dann auch mit der Version 2.0.2 funktioniert. Ich hatte im Modus bearbeiten die Abfrage ausgeführt und dabei kein Ergebnis erhalten. Erst nachdem ich den Modus verlassen hatte und per Doppelklick die Ansicht öffnete erhielt ich ein Ergebnis. Anschließend war die Spalte auch im Modus Bearbeiten gefüllt. In der Version 2.0.1 erhielt ich bei gleicher Vorgehensweise gar keine Ergebnisse. Fehler zwischen Rücklehne und Tastatur? Wie auch immer, bei ein ganzes Stück weiter und möchte mich vielfalls für deine Hilfe und Gedult bedanken.
Gruß Eric
ich habe Gestern noch weiter probiert, letztlich hat es dann auch mit der Version 2.0.2 funktioniert. Ich hatte im Modus bearbeiten die Abfrage ausgeführt und dabei kein Ergebnis erhalten. Erst nachdem ich den Modus verlassen hatte und per Doppelklick die Ansicht öffnete erhielt ich ein Ergebnis. Anschließend war die Spalte auch im Modus Bearbeiten gefüllt. In der Version 2.0.1 erhielt ich bei gleicher Vorgehensweise gar keine Ergebnisse. Fehler zwischen Rücklehne und Tastatur? Wie auch immer, bei ein ganzes Stück weiter und möchte mich vielfalls für deine Hilfe und Gedult bedanken.
Gruß Eric