Default-Wert wählen falls Parameter 0 ist.

Kampfgummibaerlie

Datenbank-Guru
Beiträge
728
Weiß auch nicht, obs wirklich in diesen Forum-Teil passt, aber ja, ich schreibe einfach mal :X

Wie jeden Abend arbeite ich auch heute an meiner Datenbank weiter, und ich würde gerne:

Den Default-Value wählen, falls ich >keinen< Wert angebe, sprich in etwa so:

So funktioniert die Funktion (denke ich zumindest, müsste ich schnell probieren)
Code:
select  mietbeginn('1', '2017.07.07 09:00')

Und ich habe als "Default"-Wert das ganze als Now()::Timestamp without time zone definiert (also den Timestamp)

Jetzt will ich nicht für ein und dieselbe Funktion 2 verschiedene Anlegen, sondern eher mit einer Arbeiten.

Sprich ich möchte zum Beispiel einfach nur wählen:
Code:
select mietbeginn('1')

Bin beim schreiben der ganzen Frage bereits selbst draufgekommen:
Ich erstelle einfach eine 2. Funktion, mit dem gleichem Namen, jedoch ohne der Timestamp als Parameter.

Neues Problem wäre jetzt:
Ich glaube, jetzt kommt das 0815 SQL zum Einsatz:
Ich habe hier in der Abfrage 2 abgefragte Parameter "eingebaut", sprich:
Code:
SELECT mietbeginn( "maschinen_id", "timestamp" ) FROM "maschinen", "timestamps" WHERE "maschinen_id" = :Maschinen_ID AND "timestamp" = :Zeitpunkt

Sollte ich hier eine "Case" einsetzen? Wäre die 1. Antwort, die ich nebenbei per Google finde.

Nachdem es hier aber mehrere interessieren könnte, veröffentliche ich hier meine Frage ;)
Werde natürlich weiterhin daran arbeiten, und editieren/antworten, je nachdem, wielange ich brauche, bis es mir gelingt :X
 
Werbung:
Werbung:
Nachdem ich die Timestamps nur im 5 Minuten-Takt drinnen habe, die er mittels der Function selecten kann, kann er das Ganze nicht selecten, weil er den Now()::timestamp-Zeitpunkt nicht in der Tabelle hat :/
Irgendwelche Lösungsmöglichkeiten? Den Now()::Timestamp irgendwie mittels Case auf den vorigen 5 Minuten Takt runden?
Warum immer abrunden? Meine Mutter möchte möglichst günstig sein, um auch konkurrenzfähig zu sein, und so....... (Ich glaube, weil sie auch gerne gibt ;))

EDIT: Ich glaube, die Timestamps auf die Nanosekunde genau in die Timestamps per Loop einfügen wäre enorm groß xD
 
Zurück
Oben