elo:datums_werte_migrieren
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| elo:datums_werte_migrieren [2026/02/26 03:48] – 80.120.119.202 | elo:datums_werte_migrieren [2026/02/27 13:15] (aktuell) – [Nicht auf den objtstamp vergessen] 89.144.192.18 | ||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| ===== Datenbankupdates? | ===== Datenbankupdates? | ||
| - | Kann ein günstiger Weg sein, muss es allerdings nicht. Das hängt dann doch ein wenig von der Datenbankengine ab und der Vielfalt, die hier hinter den Feldinhalten steht. Variieren die Datumsformate kann das eher ungünstig sein, hier wählt man ggf. am Besten den Weg eines neuen Feldes. Beim SQL-Server kann man hier gut und gerne mit TRY_CONVERT arbeiten, bei ORACLE mit REGEXP_LIKE oder ON CONVERSION ERROR. Bei Postgres stellt sich die Frage eher nicht, weil es diese Engine noch nicht so lange gibt, als das hier noch so alte Felder vorhanden sind. | + | Kann ein günstiger Weg sein, muss es allerdings nicht. Das hängt dann doch ein wenig von der Datenbankengine ab und der Vielfalt, die hier hinter den Feldinhalten steht. Variieren die Datumsformate kann das eher ungünstig sein, hier wählt man ggf. am Besten den Weg eines neuen Feldes, um sicher zu gehen, dass man fehlerhafte Werte ggf. erkennen und anders adressieren kann. Fehlerhafte Werte einfach so zu beibehalten, |
| - | ===== Nicht auf den objstamp vergessen ===== | + | ISO-Datum in natives Datum: |
| + | < | ||
| + | SELECT CASE | ||
| + | WHEN REGEXP_LIKE(your_column, | ||
| + | THEN TO_DATE(your_column, | ||
| + | ELSE NULL | ||
| + | END AS converted_date | ||
| + | FROM your_table; | ||
| + | </ | ||
| - | Wenn man sich hier wirklich an die Datenbank wagt, dann sollte man hier nicht vergessen den objtstamp zu aktualisieren. Ansonsten greift die ESearch das Objekt nicht mehr auf. Man kann alternativ aber auch eine komplette Neuindizierung starten, diese kann aber je nach Archivgröße auch dem entsprechend Zeit in Anspruch nehmen. | + | Deutsches Datum in natives Datum: |
| + | < | ||
| + | SELECT CASE | ||
| + | WHEN REGEXP_LIKE(your_column, | ||
| + | THEN TO_DATE(your_column, | ||
| + | ELSE NULL | ||
| + | END AS converted_date | ||
| + | FROM your_table; | ||
| + | </ | ||
| + | |||
| + | Das native Datum kann man wieder wie folgt in ein ISO-Datum übersetzen: | ||
| + | < | ||
| + | SELECT TO_CHAR(SYSDATE, | ||
| + | </ | ||
| + | |||
| + | ===== Nicht auf den objtstamp vergessen ===== | ||
| + | |||
| + | Wenn man sich hier wirklich an die Datenbank wagt, dann sollte man hier nicht vergessen den objtstamp | ||
elo/datums_werte_migrieren.1772077685.txt.gz · Zuletzt geändert: 2026/02/26 03:48 von 80.120.119.202