> puedes crear la fecha al momento de la consulta: > > select * from pagos where (agno_pago||'-'||mes_pago||'-01')::date >= > '2007-07-01';
Pero entonces dejarás de usar posibles índices en los campos de mes año. Me parece mejor la solución de: SELECT * FROM pagos WHERE (agno_pago = 2007 AND mes >= 7) OR (agno_pago > 2007); Lo de las fechas tiene muchas soluciones según gustos. A algunos le gusta descomponerlas en campos integer y manipularlos por separado con un índice por cada campo. A otros, les gusta usar campos date y si requieren valores agrupados por mes, entonces crean un índice funcional para el mes, cosa de no perder eficiencia en las consultas (a mi la solución de los índices funcionales me agrada). ¿Conocen algún estudio que discuta este tema? Generalmente las tablas que usan fecha registran hechos, por lo que suelen crecer bastante y requieren ser indexadas astutamente. Por allí se llega al tema de los modelos de datos para consultas como los estrella o los copos de nieve, donde a veces usan una tabla de fechas. También se llega al asunto de si disponer usar tablas con orientación a filas o a columnas... aunque ahí se escapa un poco de Postgres, porque hasta donde se, no soporta orientación de columnas. Saludos, -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda