PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Gibt es eine Möglichkeit, eine benannte Konstante in einer PostgreSQL-Abfrage zu definieren?

Diese Frage wurde bereits gestellt (Wie verwenden Sie Skriptvariablen in PostgreSQL?). Es gibt jedoch einen Trick, den ich manchmal für Abfragen verwende:

with const as (
    select 1 as val
)
select . . .
from const cross join
     <more tables>

Das heißt, ich definiere einen CTE namens const, der die dort definierten Konstanten enthält. Ich kann dies dann beliebig oft auf jeder Ebene in meine Abfrage einkreuzen. Ich fand das besonders nützlich, wenn ich mit Datumsangaben zu tun habe und Datumskonstanten über viele Unterabfragen hinweg handhaben muss.