Ich möchte einen Standardwert für ein Datumsfeld von heute innerhalb der Abfrage festlegen, wenn es nicht festgelegt wurde. Grundsätzlich möchte ich einen Standardwert für alle Daten verwenden, die innerhalb der WHERE-Klausel NULL sind. Unten ist vielleicht eine Idee mit Pseudocode.einen Standardwert für ein Feld in einer WHERE-Klausel festlegen, wenn es null ist
SELECT id
FROM coupons
WHERE expiration_date BETWEEN start_date
AND (IF end_date IS NULL THEN RETURN current_date ELSE RETURN end_date)
Kann ich diese verwenden, um in der where-Klausel als auch? Ich wollte anhand dieses Datums bewerten, anstatt es auszuwählen. Ich werde es versuchen. – Timbinous
Ja, ich verstehe Ihre Frage und aktualisiere meine Antwort. Aber ich mache mir Sorgen darüber, wie der Index funktionieren wird. Also, wenn Geschwindigkeit ein Problem wird, lass es mich wissen und vielleicht finden wir es etwas besser heraus –
Ja, Geschwindigkeit ist nicht so sehr ein Problem. Ich benutze Schienen, also bin ich nicht sicher, wie Union in diesem Fall funktionieren würde. Ich habe in meiner Frage keine Schienen angegeben, das ist also nicht deine Schuld. Ich habe nie gedacht, UNION für 2 Abfragen zu verwenden. Ich denke, es ist eine gute, schlaue Antwort. Es fühlt sich (aus der Sicht eines Programmierers) an, dass es eine einfache Antwort geben sollte, die mir fehlt. – Timbinous