![]() |
Datenbank: SQLite • Version: 3.x • Zugriff über: Unidac
SQLite Datenbank Datumsformat ändern
Hallo,
ich möchte das Format der Geburtstage in einer SQLite Datenbank ändern. Die Daten sollen dabei erhalten bleiben. Format derzeit ist 17.02.1985 und soll nach 1985-02-17 00:00:00. Habe es so versucht, aber das haut natürlich die Daten raus:
Code:
:?
Update contacts set birthday=strftime('%Y-%m-%d %H:%M:%S',birthday)
Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Ich würde das Format nicht in der Datenbank ändern, sondern die Werte bei der Anzeige entsprechend formatieren.
Ich würde Datumswerte auch nicht als String, sondern als Datetime speichern |
AW: SQLite Datenbank Datumsformat ändern
Hi,
darum geht es ja. Erstmal muss ich die vorhandenen Daten umformatieren, bevor ich das Feld als Datetime umwandeln kann. Wer auch immer das damals als String angelegt hat :roll: Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Warum den das du kannst auch gleich, dass neue Feld Füllen, und zawr ohne Formatierung
|
AW: SQLite Datenbank Datumsformat ändern
Hi,
also wenn ich über den SQLite Manager eine bestehende Datenbank mit Geburtstagen (im Format 17.02.1985) öffne und das Feld von Varchar(10) auf Datetime ändere sind alles Daten weg. Also muss ich bestehende Daten erst umformatieren. Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Besser wäre es ein neues Feld einzufügen, per Update Werte von Feld1 auf Feld2 übertrage und dann das ale Feld lösvem/neues umbenennen
|
AW: SQLite Datenbank Datumsformat ändern
Hi,
das geht natürlich auch, da habe ich aber auch Problem beim übertragen. Habe folgende Querys getestet:
Code:
Was mache ich falsch?
update contacts set rebirth=strftime('%Y-%m-%d %H:%M:%S',birthday) where birthday !=''
update contacts set rebirth=datetime('%Y-%m-%d %H:%M:%S',birthday) where birthday !='' Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Ich habe von SQLite keine Ahnung, aber geht so etwas?
SQL-Code:
UPDATE
contacts SET rebirth=CAST(strftime('%Y-%m-%d %H:%M:%S',birthday) AS DateTime) WHERE birthday !='' |
AW: SQLite Datenbank Datumsformat ändern
Du must das Istformat angeben und nicht das Zielformat.
|
AW: SQLite Datenbank Datumsformat ändern
Mmmh funktioniert leider alles nicht :?
|
AW: SQLite Datenbank Datumsformat ändern
|
AW: SQLite Datenbank Datumsformat ändern
Hi,
danke für eure Antworten. Leider stecke ich fest:
Code:
SQLite schreibt immer ne 1 ins rebirth Feld :?
UPDATE contacts SET rebirth = CAST( SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS DATE);
Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Es scheint ein anderes Datumsformat erwartet zu werden: Versuch mal
SQL-Code:
Wie wird das Datum angezeigt:
UPDATE contacts SET rebirth = CAST( birthday AS DATE);
SQL-Code:
?
select CAST( birthday AS DATE) from contacs;
|
AW: SQLite Datenbank Datumsformat ändern
Hi,
Code:
ergibt 17.02
select CAST( birthday AS DATE) from contacts;
Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Und was sollte es sein?
|
AW: SQLite Datenbank Datumsformat ändern
Hi,
also das Jahr sollte schon noch mit. Date bzw. DateTimewerte werden mir in der Übersicht so angezeigt:
Code:
Viele Grüße
1985-02-17 09:00:00
|
AW: SQLite Datenbank Datumsformat ändern
1. Versuch
SQL-Code:
Wenn das stimmig aussieht, dann weiter mit
SELECT
SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS NewBirthDate FROM contacts
SQL-Code:
Was kommt dabei heraus?
SELECT
CAST(SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS Date) AS NewBirthDate FROM contacts |
AW: SQLite Datenbank Datumsformat ändern
Hi,
erstes Ergebnis ist ok - wie es sein soll. Beim CAST bekomme ich nur das Jahr! Viele Grüße ... |
AW: SQLite Datenbank Datumsformat ändern
Jetzt bin ich im Augenblick überfragt. Steht denn in der Doku nichts dazu, wie der Datumsstring formatiert sein muss? Oder geht das evtl. einfach so?
SQL-Code:
UPDATE contacts SET rebirth = SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2);
|
AW: SQLite Datenbank Datumsformat ändern
Ich glaub, Du kannst einfach mit date() arbeiten. Zuvor musst Du das Textdatum mit substr umbauen in ein Format, das Date() versteht, z.B. YYYY-MM-DD
Beispiel:
Code:
sqlite> create table datest (mydate date);
sqlite> select * from datest ...> ; sqlite> insert into datest values(date()); sqlite> select * from datest; 2011-01-06 sqlite> insert into datest ...> select date( ...> substr("18/02/1999",-4,4) || "-" || ...> (CASE WHEN substr("18/02/1999",-7,1) = '/' ...> THEN "0" || substr("18/02/1999",-6,1) ...> ELSE substr("18/02/1999",-7,2) ...> END) || "-" ...> || ...> (CASE WHEN substr("18/02/1999",2,1) = '/' ...> THEN "0" || substr("18/02/1999",1,1) ...> ELSE substr("18/02/1999",1,2) ...> END) ...> ); sqlite> select * from datest; 2011-01-06 1999-02-18 sqlite> select min(mydate), max(mydate) from datest; 1999-02-18|2011-01-06 sqlite> select max(mydate)-min(mydate) from datest; 12 sqlite> select julianday(max(mydate))-julianday(min(mydate)) from datest; 4340.0 sqlite> |
AW: SQLite Datenbank Datumsformat ändern
@DeddyH:
Ich werd bekloppt. Datt geht:cheer: |
AW: SQLite Datenbank Datumsformat ändern
Habe dazu auch was gefunden:
![]() der hier: ![]() keine Ahnung ob´s hilft. |
AW: SQLite Datenbank Datumsformat ändern
Danke euch allen :hello:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz