Quiero seleccionar sql :
SELECT "year-month" from table group by "year-month" AND order by date
, donde año-mes - formato para la fecha "1978-01", "1923-12".
seleccione to_char de trabajo couse , pero no orden "correcto":
to_char(timestamp_column, 'YYYY-MM')
sql
postgresql
Bdfy
fuente
fuente
Respuestas:
p.ej
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
fuente
Dices que el orden no es "correcto", pero no veo por qué está mal (al menos hasta que llegue el año 10000).
fuente
ORDER BY
citas.ORDER BY to_char(timestamp, 'YYYY-MM')
. O alternativamente, si lo hizoSELECT to_char(timestamp, 'YYYY-MM') AS date
, puede simplemente usarORDER BY date
.Utilice el
date_trunc
método para truncar el día (o cualquier otra cosa que desee, por ejemplo, semana, año, día, etc.)Ejemplo de agrupación de ventas de pedidos por mes:
fuente
Puede truncar toda la información después del mes usando
date_trunc(text, timestamp)
:Ejemplo:
Entrada:
Salida 1:
Salida 2:
Salida 3:
Salida 4:
fuente
Primera opción
Mantendrá el formato de fecha con todos los meses a partir del día uno.
Ejemplo:
Segunda opción
Esta solución propuesta por @yairchu funcionó bien en mi caso. Tenía muchas ganas de descartar la información del "día".
fuente
Puede utilizar la función EXTRACT pgSQL
Para más detalles PGSQL Date-Time
fuente
Está trabajando para funciones "mayor que" no menos que.
Por ejemplo:
está funcionando bien.
pero para
Recibo un error.
fuente