PGSQL date_part / jak zapsat?

dj.kure
Člen | 70
+
0
-

Ahoj,

řeším tu takový problém s narozeninama.
Mám v databázi datum narození několika uživatelů a ve dni jejich narozenin chci tuto informaci zobrazit.

Mám SQL dotaz, ve kterém je tato podmínka:

->where("date_part('month', `datum_narozeni`)", date("m"))

Jenže nevím, jak se zbavit automatického „eskejpování“ výazu ‚month‘, protože výsledek dotazu vypadá takto:

WHERE (date_part('"month"', datum_narozeni) = '03')

A já tam ty dvojité uvozovky ve slově „month“ nechci. Chci jen ty jednoduché. Prostě nevím, jak to v kódu napsat.
Už jsem dělal eskejpování lomítkem a já nevím co všechno, ale prostě se toho nemůžu zbavit. Dotaz samozřejmě takto nefunguje, protože má špatný formát. Výraz „month“ musí být v jednoduchých uvozovkách.

David Matějka
Moderator | 6445
+
+3
-

pouzij parametry

->where("date_part(?, `datum_narozeni`) = ?", 'month', date("m"))
dj.kure
Člen | 70
+
0
-

Moc děkuji za pomoc. I tohle jsem zkoušel, ale zapomněl jsem ještě doplnit „= ?“ na konci dotazu :-)
Takže tohle je funknční:

->where("date_part(?, datum_narozeni) = ?", 'month', date("m"))