![]() |
Datenbank: FB • Version: 1.5 • Zugriff über: egal
Select Max(TheDate+TheTme) geht nicht
Hallo #,
ich speichere Datum + Uhrzeit in 2 getrennten Feldern (Vorgabe, kann nicht geändert werden) zusammen mit anderen Werten. Jetzt will ich den neuesten Datensatz haben. Das obige Select Max geht nicht (viell. mit FB2, ist aber noch keine Option). Zur Zeit mache ich ein
SQL-Code:
Geht das auch anders ?
Select First 1 TheDate, TheTime From Table
Order By TheDate Desc, TheTime Desc Dank Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
Was für Typen haben die beiden Felder?
|
Re: Select Max(TheDate+TheTme) geht nicht
Hallo,
Date (Dialect 1) Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
Welcher Fehler kommt den bei der Addition?
|
Re: Select Max(TheDate+TheTme) geht nicht
Hallo,
expression evaluation not supported per Cast geht es auch nicht. Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
Bleibt noch die Option einer UDF
|
Re: Select Max(TheDate+TheTme) geht nicht
Vielleicht so...
SQL-Code:
SELECT MAX(CAST(TheDate + TheTime AS timestamp)) minTimestamp
FROM table |
Re: Select Max(TheDate+TheTme) geht nicht
Hallo,
gleicher Fehler wie oben. Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
Schade, das es bei dir nicht geht.
Ich habe das gerade nochmal mit der Version 1.5.5.4926 ausprobiert. Tja, was soll ich sagen: Das funktioniert wunderbar. |
Re: Select Max(TheDate+TheTme) geht nicht
Vermute mal liegt an dem Dialect 1, welcher ja pre FB ist
|
Re: Select Max(TheDate+TheTme) geht nicht
Ok, wollte das gerade mal ausprobieren. Dort gibt es aber keinen date bzw. time Datentyp. Oder bin ich zu blöd?
Wie sieht denn die Tabellenstruktur genau aus? Welche Datentypen werden dort benutzt? Etwa Timestamp? genau der wird mir nämlich vorgeschlagen. Dort kann ich dann aber keine Uhrzeit ohne Datum eintragen. Also wie jetzt? |
Re: Select Max(TheDate+TheTme) geht nicht
Kann sein,
dass es im Date liegt. Nun ja. Die andere Variante geht auch, gefällt mir aber nicht so. "Closed" .... Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
@omata: Im Dialect 1 hiess der Stamp Date
@hoika:Was spricht gegen eine UDF? |
Re: Select Max(TheDate+TheTme) geht nicht
Also ich erhalte dort...
Code:
Was ist jetzt Stamp Date?
Engine Code : 335544436
Engine Message : SQL error code = -104 Client SQL dialect 1 does not support reference to TIME datatype SQL warning code = 301 DATE data type is now called TIMESTAMP |
Re: Select Max(TheDate+TheTme) geht nicht
Der Typ Date im Dialect 1 heisst im Dialect 3 TimeStamp
|
Re: Select Max(TheDate+TheTme) geht nicht
Und wie kann ich im Dialect 1 eine Zeit ablegen (ohne Datum)?
|
Re: Select Max(TheDate+TheTme) geht nicht
Es gab nur Date, der sowohl Datum wie Zeit beinhaltet
|
Re: Select Max(TheDate+TheTme) geht nicht
Ok, wie kann Heiko dann beides einzeln speichern?
|
Re: Select Max(TheDate+TheTme) geht nicht
Er speichert es ja beides in DATE-Feldern (also als Timestamps)
|
Re: Select Max(TheDate+TheTme) geht nicht
So geht es auch im Dialect 1...
SQL-Code:
SELECT MAX(CAST(EXTRACT(YEAR FROM TheDate) || '-' ||
EXTRACT(MONTH FROM TheDate) || '-' || EXTRACT(DAY FROM TheDate) || ' ' || EXTRACT(HOUR FROM TheTime) || ':' || EXTRACT(MINUTE FROM TheTime) || ':' || EXTRACT(SECOND FROM TheTime) AS TIMESTAMP)) FROM table |
Re: Select Max(TheDate+TheTme) geht nicht
Hallo,
statt TimeStamp DATE und es klappt tatsächlich ! Nur wird jetzt dummwerweise kein Index mehr verwendet (ist auch logisch) Omata: das mit deiner Warnung weiter oben in der Tat auch komisch. Die DB wird ja als Dialect 1 angesprochen. also "closed" Heiko |
Re: Select Max(TheDate+TheTme) geht nicht
Zitat:
|
Re: Select Max(TheDate+TheTme) geht nicht
omata,
irgendwie klappt das nicht, :wall: ist aber egal. gelöst. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 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