Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQLite Datenbank Datumsformat ändern (https://www.delphipraxis.net/157273-sqlite-datenbank-datumsformat-aendern.html)

DeddyH 6. Jan 2011 12:00

AW: SQLite Datenbank Datumsformat ändern
 
http://entwickler-forum.de/showthread.php?t=51954

fillibuster 6. Jan 2011 12:39

AW: SQLite Datenbank Datumsformat ändern
 
Hi,

danke für eure Antworten. Leider stecke ich fest:
Code:
UPDATE contacts SET rebirth = CAST(  SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS DATE);
SQLite schreibt immer ne 1 ins rebirth Feld :?

Viele Grüße ...

mkinzler 6. Jan 2011 12:44

AW: SQLite Datenbank Datumsformat ändern
 
Es scheint ein anderes Datumsformat erwartet zu werden: Versuch mal
SQL-Code:
UPDATE contacts SET rebirth = CAST( birthday AS DATE);
Wie wird das Datum angezeigt:
SQL-Code:
select CAST( birthday AS DATE) from contacs;
?

fillibuster 6. Jan 2011 13:09

AW: SQLite Datenbank Datumsformat ändern
 
Hi,

Code:
select CAST( birthday AS DATE) from contacts;
ergibt 17.02

Viele Grüße ...

DeddyH 6. Jan 2011 13:13

AW: SQLite Datenbank Datumsformat ändern
 
Und was sollte es sein?

fillibuster 6. Jan 2011 13:17

AW: SQLite Datenbank Datumsformat ändern
 
Hi,

also das Jahr sollte schon noch mit. Date bzw. DateTimewerte werden mir in der Übersicht so angezeigt:
Code:
1985-02-17 09:00:00
Viele Grüße

DeddyH 6. Jan 2011 13:24

AW: SQLite Datenbank Datumsformat ändern
 
1. Versuch
SQL-Code:
SELECT
  SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS NewBirthDate
FROM
  contacts
Wenn das stimmig aussieht, dann weiter mit
SQL-Code:
SELECT
  CAST(SUBSTR(birthday,7,4) || '-' || SUBSTR(birthday,4,2) || '-' || SUBSTR(birthday,1,2) AS Date) AS NewBirthDate
FROM
  contacts
Was kommt dabei heraus?

fillibuster 6. Jan 2011 13:30

AW: SQLite Datenbank Datumsformat ändern
 
Hi,

erstes Ergebnis ist ok - wie es sein soll. Beim CAST bekomme ich nur das Jahr!

Viele Grüße ...

DeddyH 6. Jan 2011 13:39

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);

jobo 6. Jan 2011 13:40

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>


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz