OK, quedó claro: son utiles en tiempo de ejecucion, pero al scriptearlas trae estas (para mí) sorpresas. Creí que "el momento de ejecutarse" era su invocacion con SELECT, no su CREATE. Gracias Alvaro / Anthony !!!
El mar., 10 sept. 2019 a las 10:20, Alvaro Herrera (< alvhe...@2ndquadrant.com>) escribió: > Hola Lautaro, > > Lautaro Palamidessi escribió: > > > --y para mi sorpresa veo que devuelve: > > " SELECT prueba.campo_fecha > > FROM prueba > > WHERE ((prueba.campo_fecha >= '2019-09-01 00:00:00'::timestamp without > > time zone) AND (prueba.campo_fecha <= '2019-09-02 00:00:00'::timestamp > > without time zone));" > > > > o sea: Al compilar y grabar la vista, mis "variables" se convirtieron en > > "constantes"! > > Sí, la expansión se efectúa al momento de crear la vista. > > > Las preguntas que hago a la lista son: > > Si 'today' y 'yesterday' fueran funciones, ¿hay un bug al grabarse en la > > vista como constantes? > > Si 'today' y 'yesterday' fueran constantes: ¿por qué hoy valen una cosa y > > mañana valen otra cosa? > > Si 'today' y 'yesterday' no son ni funciones ni constantes, ¿qué son? > > No son funciones ni constantes: son valores que la función de entrada > del tipo timestamp interpreta al momento de ejecutarse, que es el > momento de crear la vista. El valor que retorna la función de entrada > es una constante, que es lo que se pone en la definición de la vista. > > -- > Álvaro Herrera https://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services > -- [image: logo conexia] <http://conexia.com/> *Lautaro Palamidessi* Consultor Técnico DBA *T:* +5411 5173 6159 [image: facebook conexia] <https://goo.gl/OxO8kd> [image: twitter conexia] <https://goo.gl/XGpgl3> [image: linkedin conexia] <https://goo.gl/epcLtV> www.conexia.com <http://conexia.com/> [image: line]