neue Erkenntnisse über Range-Type/s (interval)

Kampfgummibaerlie

Datenbank-Guru
Beiträge
734
Anbei auch danke an Akretschmar, der hat mir viel (bisherige) Freude ermöglicht, und mir auch den Interval schonmal vorgeschlagen, aber ja, ich lerne lieber durchs Scheitern, als durchs zuhören ;)

Aber ja, man lernt ja bekanntlich nie aus :D

Nach jede Menge arbeiten am Ganzen, und nachdem das Programm (PGAdmin) zwischendurch mal meinte "Typ ist interval", habe ich das Ganze einfach mal probiert, und siehe da, es gibt sogar die Werte in Tagen, bzw die Dauer in HH:MM:SS zurück.

Und, er ist auch in der Lage, dass ganze zu "kombinieren", sprich er gbt wieder, "1 day 01:00:00", oder ähnliches.

Ich schau mal nach, seit wann ich mit PostgreSQL umgehe, und wie "viel/wenig" ich eigentlich schon kann, und frage mich, wielange ich noch so "motiviert" bin, weiteres von PostgreSQL zu lernen.

Ich denke, tatsache ist nunmal, dass ich wegen ein jedem "Pups", wie es jemand so schön sagte, nachfrage, oder übern Tag selbst draufkomme, und dann am Abend mein neues Wissen in diesem Forum poste ;)

Also, meine heutige Erkenntniss (zum probieren):


eine Unterfunktion, auf die die der Type zugreifen kann
Code:
CREATE FUNCTION timestamp_subtype_diff(x timestamp, y timestamp) RETURNS float8 AS 'SELECT EXTRACT(EPOCH FROM (x - y))' LANGUAGE sql STRICT IMMUTABLE;


Einen Type, welcher als Range (2 Variable Werte (wie von und bis) ) in einer einzelnen Spalte/Zeile
Code:
CREATE TYPE timestamprange AS range (subtype = timestamp, subtype_diff = timestamp_subtype_diff);


Um eine Function für die Differenz zwischen den 2 Werten in der Timestamprange zu erstellen:
Code:
create function timestamprange_diff(x timestamprange) RETURNS interval as 'Select (upper(x)-lower(x))' Language sql strict immutable;


Um das Ganze einmal abzuprüfen: ( Werte, wo über 1 vollen Tag rauskommt)
Code:
select timestamprange_diff('(1.1.17 08:00, 2.1.17 08:30)')

Resultat sollte 1 day 00:30:00 sein, wenn ihr "meine" Codes verwendet ;)

Anbei hoffe ich, es ist nicht verboten, das gute alte "Willkommen" von Walter zu veröffentlichen xD

Hallo Kampfgummibaerlie,

willkommen im Forum! Wir hoffen, dass Du hier viele interessante Infos zu Datenbanken findest.

Hilfe zur Bedienung des Forums gibt es übrigens hier:
Hilfe | Datenbank-Forum

lg
Walter

Diese Nachricht habe ich am 7.3.2017 bekommen, sprich es ist keine 3 Monate her, und ich fühle mich hier, so wie auch im privaten Leben deutlich wohler, weil ich wieder halbwegs etwas vor habe, denke ich ;)

Share-Link gefunden, jedoch kann ich auf diesem Weg nur vereinzelte Threads sharen.
 
Werbung:
Zurück
Oben