Frage stellen
0

Base Nach Migration alle Datum Felder minus 1 Tag [Geschlossen]

gefragt 2020-03-30 15:19:20 +0100

Pady Gravatar-Bild

Liebe Forum Mitglieder

Im Oktober 2019 machte ich die automatische Migration von HSQLDB zu Firebird. Gewisse Felder passte ich danach noch gemäss Wiki-Tipps noch an.

Nun bemerkte per Zufall, dass damals sämtliche Datumsfelder in den Tabellen mit 1 Tag zu früh implementiert wurden. Im Wiki fand ich dann den kleinen Hinweis, dass genau dies passieren könnte, leider ist es nun zu spät nach über 6 Monaten. https://wiki.documentfoundation.org/D...

Via Calc oder Excel kann ich die exportierten Tabellen relativ leicht mit einer Formel korrigieren. Leider finde ich keine praktische Möglichkeit vorhandene Tabellen in Base direkt mit Calc Tabellen zurück zu importieren.

Meine Versuche: Kopieren und und einfügen funktionierten nie, viele Versuche mit Daten anhängen, neu generieren, zuweisen, Feld Formate ändern, im Formular brachte immer nur kryptische SQL Fehler Texte.

Kennt jemand von euch eine Möglichkeit, z.B. in ausgewählte Spalten in den Tabellen, alle Werte mit +1 Tag zu addieren ? Für Tipps aus diesem Forum bin ich sehr dankbar.

Bearbeiten Tags ändern Melden wieder öffnen vereinen löschen

Geschlossen aus folgendem Grund Die Frage wurde beantwortet, die korrekte Antwort als „Akzeptiert“ markiert von Pady
Abschlussdatum 2020-03-31 15:31:32.243991

2 Antworten

2

geantwortet 2020-03-30 17:06:29 +0100

RobertG Gravatar-Bild

Teste einmal in einer Abfrage

SELECT "Datum", "Datum" + 1 FROM "Tabelle"

Stimmen die Werte für "Datum" +1?

Größere Änderungen über SQL mache ich grundsätzlich erst einmal an einer Kopie, wenn ich nicht genau weiß, ob das Ergebnis das Gewünschte ist. Wenn also das Ergebnis der Abfrage stimmt, dann jetzt über Extras → SQL:

UPDATE "Tabelle" SET "Datum" = "Datum" + 1

Das dürfte in Firebird die Inhalte von allen Datumsfeldern um einen Tag verschieben.

Ich hoffe, dass Du noch keine weiteren Eingaben gemacht hast. Ansonsten musst Du das Update begrenzen. Nehmen wir einmal an, dass das Update für alle Datumswerte bis einschließlich 24.12.2019 gilt, dann gilt der Code

UPDATE "Tabelle" SET "Datum" = "Datum" + 1 WHERE "Datum" < '2019-12-25'

Gruß

Robert

Bearbeiten Melden löschen Link mehr
0

geantwortet 2020-03-31 11:48:19 +0100

Pady Gravatar-Bild

Lieber Robert

Du hattest die perfekte Lösung für mich und erspartest mir viel Zeit, welche ich mit editieren verbracht hätte. Danke dir vielmals für diese rasche Lösung und es ist spannend für mich in die SQL Formeln einzutauchen.

Wünsche dir einen erfolgreichen, gesegneten Tag in dieser speziellen Zeit.

Patrik

Bearbeiten Melden löschen Link mehr

Kommentare

Komische Antwort, liest sich wie eine Danksagung.

Antworte bitte nicht auf Deine eigenen Fragen, sondern benutze die kommentieren Funktion der betreffenden Antwort für solche Sachen.

PKG Gravatar-BildPKG ( 2020-03-31 12:31:49 +0100 )Bearbeiten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2020-03-30 15:19:20 +0100

Angesehen: 79 Mal

Aktualisiert: Mar 31 '20