Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 31/03/13, Sanzio Carmosanzio.ca...@gmail.com escreveu: Amigos, Depois da ajuda de todos, consegui fazer funcionar. As explicações me ajudaram a refletir no que eu queria, que era calcular a data do ultimo dia da semana de acordo com o dia informado. Se quiser determinar a sexta-feira da semana então pode usar algo do tipo: bdteste=# SELECT CURRENT_DATE, date_trunc('week', CURRENT_DATE), (date_trunc('week', CURRENT_DATE)+interval '4 days')::date; date| date_trunc |date ++ 2013-04-01 | 2013-04-01 00:00:00-03 | 2013-04-05 (1 row) Lembrando que a semana vai de segunda a domingo, assim: bdteste=# SELECT (date_trunc('week', '2013-03-31'::date)+interval '4 days')::date; date 2013-03-29 (1 row) Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Para ficar registrado, a Solução que chegou ao resultado que eu queria foi essa: SELECT date(data_processamento + (7 - cast(to_char(data_processamento, 'D') as integer))) into :DAT-FIM-SEMANA FROM TabProcessamento Obrigado a Todos que colaboraram. Em 31 de março de 2013 20:44, Dickson S. Guedes lis...@guedesoft.netescreveu: Em 31 de março de 2013 20:24, Sanzio Carmo sanzio.ca...@gmail.com escreveu: Amigos, Depois da ajuda de todos, consegui fazer funcionar. As explicações me ajudaram a refletir no que eu queria, que era calcular a data do ultimo dia da semana de acordo com o dia informado. Fico muito grato a todos. Legal! Que tal nos mostrar a solução para o seu caso para que o histórico da lista possa ser útil para outros que tenham a mesma dúvida que a sua? []s -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 30 de março de 2013 16:09, Sanzio Carmo sanzio.ca...@gmail.com escreveu: Amigo, retirei o comando abaixo do endereço que passou mas não consegui fazer funcionar. funciona separadamente mas não na soma. esse funciona: SELECT to_char(Tac01033.data_processamento, 'DD') FROM TGC.Tac01033 esse também funciona: SELECT to_char(Tac01033.data_processamento, 'D') FROM TGC.Tac01033 quero fazer o resultado da soma dos dois em data, mas não sei como SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Porque to_char? to_char é muito mais útil para apresentar um determinado dado em um formato texto, mas no seu caso você quer fazer um cálculo antes. Eu ainda não sei o que realmente você quer fazer pois você está mostrando o como e não o quê, então veja se é isto que você deseja: select Tac01033.data_processamento + cast((7 - extract(dow from Tac01033.data_processamento)) as int); []s -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Amigos, Depois da ajuda de todos, consegui fazer funcionar. As explicações me ajudaram a refletir no que eu queria, que era calcular a data do ultimo dia da semana de acordo com o dia informado. Fico muito grato a todos. Abraço Sânzio Carmo Em 31 de março de 2013 19:42, Dickson S. Guedes lis...@guedesoft.netescreveu: Em 30 de março de 2013 16:09, Sanzio Carmo sanzio.ca...@gmail.com escreveu: Amigo, retirei o comando abaixo do endereço que passou mas não consegui fazer funcionar. funciona separadamente mas não na soma. esse funciona: SELECT to_char(Tac01033.data_processamento, 'DD') FROM TGC.Tac01033 esse também funciona: SELECT to_char(Tac01033.data_processamento, 'D') FROM TGC.Tac01033 quero fazer o resultado da soma dos dois em data, mas não sei como SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Porque to_char? to_char é muito mais útil para apresentar um determinado dado em um formato texto, mas no seu caso você quer fazer um cálculo antes. Eu ainda não sei o que realmente você quer fazer pois você está mostrando o como e não o quê, então veja se é isto que você deseja: select Tac01033.data_processamento + cast((7 - extract(dow from Tac01033.data_processamento)) as int); []s -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 31 de março de 2013 20:24, Sanzio Carmo sanzio.ca...@gmail.com escreveu: Amigos, Depois da ajuda de todos, consegui fazer funcionar. As explicações me ajudaram a refletir no que eu queria, que era calcular a data do ultimo dia da semana de acordo com o dia informado. Fico muito grato a todos. Legal! Que tal nos mostrar a solução para o seu caso para que o histórico da lista possa ser útil para outros que tenham a mesma dúvida que a sua? []s -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Conversão de DB2 para Postgres
Estou convertendo o meu sistema do DB2 para o Postresql e estou com dificuldade para fazer funcionar o SQL abaixo: No DB2 era: select date(days(Tac01033.data_processamento) + (7 - dayofweek(Tac01033.data_processamento))) into :tgc-DAT-FIM-SEMANA FROM tgc.Tac01033 Não sei como se faz no Postgresql??? Quem pode me instruir? o sql abaixo da erro no Postgresql SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 sanzio carmo -- View this message in context: http://postgresql.1045698.n5.nabble.com/Conversao-de-DB2-para-Postgres-tp5750190.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Amigo, retirei o comando abaixo do endereço que passou mas não consegui fazer funcionar. funciona separadamente mas não na soma. esse funciona: SELECT to_char(Tac01033.data_processamento, 'DD') FROM TGC.Tac01033 esse também funciona: SELECT to_char(Tac01033.data_processamento, 'D') FROM TGC.Tac01033 quero fazer o resultado da soma dos dois em data, mas não sei como SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Em 30 de março de 2013 15:26, Dickson S. Guedes lis...@guedesoft.netescreveu: Em 30 de março de 2013 15:18, sanzio carmo sanzio.ca...@gmail.com escreveu: Estou convertendo o meu sistema do DB2 para o Postresql e estou com dificuldade para fazer funcionar o SQL abaixo: No DB2 era: select date(days(Tac01033.data_processamento) + (7 - dayofweek(Tac01033.data_processamento))) into :tgc-DAT-FIM-SEMANA FROM tgc.Tac01033 Não sei como se faz no Postgresql??? Quem pode me instruir? o sql abaixo da erro no Postgresql SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 De uma olhada nas funções de data/hora do Postgres em [1]. [1] http://www.postgresql.org/docs/current/static/functions-datetime.html -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 30/03/13, Sanzio Carmosanzio.ca...@gmail.com escreveu: Amigo, retirei o comando abaixo do endereço que passou mas não consegui fazer funcionar. funciona separadamente mas não na soma. esse funciona: SELECT to_char(Tac01033.data_processamento, 'DD') FROM TGC.Tac01033 esse também funciona: SELECT to_char(Tac01033.data_processamento, 'D') FROM TGC.Tac01033 quero fazer o resultado da soma dos dois em data, mas não sei como SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Como consta do manual o resultado da função to_char é um text. Se quizer fazer operações aritmética você precisará fazer conversões explícitas (cast). Talvez seja mais prático você usar a função extract [1]. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Amigo Tentei usar o cast mas deu erro e dai não sei o que fazer. obrigado assim mesmo pela dica Em 30 de março de 2013 19:27, Osvaldo Kussama osvaldo.kuss...@gmail.comescreveu: Em 30/03/13, Sanzio Carmosanzio.ca...@gmail.com escreveu: Amigo, retirei o comando abaixo do endereço que passou mas não consegui fazer funcionar. funciona separadamente mas não na soma. esse funciona: SELECT to_char(Tac01033.data_processamento, 'DD') FROM TGC.Tac01033 esse também funciona: SELECT to_char(Tac01033.data_processamento, 'D') FROM TGC.Tac01033 quero fazer o resultado da soma dos dois em data, mas não sei como SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Como consta do manual o resultado da função to_char é um text. Se quizer fazer operações aritmética você precisará fazer conversões explícitas (cast). Talvez seja mais prático você usar a função extract [1]. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 30/03/13, Sanzio Carmosanzio.ca...@gmail.com escreveu: Amigo Tentei usar o cast mas deu erro e dai não sei o que fazer. obrigado assim mesmo pela dica Aparentemente você está tentando fazer: SELECT EXTRACT(DAY FROM Tac01033.data_processamento::TIMESTAMP) + (7 - EXTRACT(DOW FROM Tac01033.data_processamento::TIMESTAMP) FROM TGC.Tac01033; Agora não entendi como você quer transformar esta quantidade de dias numa data. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 30/03/13, Osvaldo Kussamaosvaldo.kuss...@gmail.com escreveu: Em 30/03/13, Sanzio Carmosanzio.ca...@gmail.com escreveu: Amigo Tentei usar o cast mas deu erro e dai não sei o que fazer. obrigado assim mesmo pela dica Aparentemente você está tentando fazer: SELECT EXTRACT(DAY FROM Tac01033.data_processamento::TIMESTAMP) + (7 - EXTRACT(DOW FROM Tac01033.data_processamento::TIMESTAMP) FROM TGC.Tac01033; Agora não entendi como você quer transformar esta quantidade de dias numa data. Osvaldo Faltou um fecha parêntese: SELECT EXTRACT(DAY FROM Tac01033.data_processamento::TIMESTAMP) + (7 - EXTRACT(DOW FROM Tac01033.data_processamento::TIMESTAMP)) FROM TGC.Tac01033; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conversão de DB2 para Postgres
Em 30 de março de 2013 15:18, sanzio carmo sanzio.ca...@gmail.comescreveu: Estou convertendo o meu sistema do DB2 para o Postresql e estou com dificuldade para fazer funcionar o SQL abaixo: No DB2 era: select date(days(Tac01033.data_processamento) + (7 - dayofweek(Tac01033.data_processamento))) into :tgc-DAT-FIM-SEMANA FROM tgc.Tac01033 Não sei como se faz no Postgresql??? Quem pode me instruir? o sql abaixo da erro no Postgresql SELECT date(to_char(Tac01033.data_processamento, 'DD') + (7 - to_char(Tac01033.data_processamento, 'D') into :Tgc-DAT-FIM-SEMANA FROM TGC.Tac01033 Veja se isso resolve: SELECT (to_char(Tac01033.data_processamento, 'DD')::integer + (7 - (to_char(Tac01033.data_processamento, 'D')::integer))) []s Danilo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral