Márcio Gil escreveu:
SELECT date_part('YEAR', obsdate) as ano from tb_rainfallinstantaneous;
Não funciona não?

    ------------------------------------------------------------------------
    *De:* [EMAIL PROTECTED]
    [mailto:[EMAIL PROTECTED] *Em nome de
    *Bruno Moreno
    *Enviada em:* terça-feira, 22 de maio de 2007 09:16
    *Para:* Lista de Discursão PostgreSQL
    *Assunto:* [pgbr-geral] Timestamp, date_trunc e afins =D

    Pessoal, estou com algumas duvidas muito básicas, se puderem me
    ajudar...

    Já havia mandado um email antes, mas esse é mais específico.

    1) Tenho uma tabela com datas e valores, se quero listar TODOS os
    anos contidos naquela tabela como devo fazer? Cheguei até aqui:

    select (SELECT date_part('YEAR', (select min(obsdate) from
    tb_rainfallinstantaneous))) as ano from tb_rainfallinstantaneous;

    Mas minha intenção seria listar não só as menores anos, mas TODOS os
    anos. A mesma coisa irei fazer para mês, dia, hora, minuto...

    Se desse certo seria mais ou menos assim que eu queria:

    select (SELECT date_part('YEAR', (select obsdate from
    tb_rainfallinstantaneous))) as ano from tb_rainfallinstantaneous;
    Mas tá errado =/


Creio que já foi respondido anteriormente mas aqui vai:

- Listar os anos das datas existentes em sua tabela:
SELECT DISTINCT date_part('YEAR', obsdate) AS ano
FROM tb_rainfallinstantaneous
ORDER BY ano;
ou
SELECT DISTINCT to_char(obsdate,'YYYY') AS ano
FROM tb_rainfallinstantaneous
ORDER BY ano;
ou
SELECT DISTINCT date_trunc('YEAR', obsdate) AS ano
FROM tb_rainfallinstantaneous
ORDER BY ano;

- Listar os meses (obviamente você necessitará também do ano respectivo):
SELECT DISTINCT ON (date_part('YEAR', obsdate) AS ano,
                    date_part('MONTH',obsdate) AS mes
FROM tb_rainfallinstantaneous
ORDER BY ano, mes;
ou
SELECT DISTINCT to_char(obsdate,'YYYY-MM') AS ano_mes
FROM tb_rainfallinstantaneous
ORDER BY ano_mes;
ou
SELECT DISTINCT date_trunc('MONTH', obsdate) AS ano
FROM tb_rainfallinstantaneous
ORDER BY ano_mes;

e da mesma forma para dia, hora, minuto, etc

Veja a documentação:
http://www.postgresql.org/docs/8.2/interactive/functions-datetime.html
e
http://www.postgresql.org/docs/8.2/interactive/functions-formatting.html

Se preferir em português veja:
http://pgdocptbr.sourceforge.net/

Se não for nada disso então formule melhor sua pergunta.

[]s
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a