Re: [pgbr-geral] Conversão de DB2 para Postgres

2013-04-01 Por tôpico Osvaldo Kussama
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

2013-04-01 Por tôpico Sanzio Carmo
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

2013-03-31 Por tôpico Dickson S. Guedes
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

2013-03-31 Por tôpico Sanzio Carmo
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

2013-03-31 Por tôpico Dickson S. Guedes
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

2013-03-30 Por tôpico sanzio carmo
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

2013-03-30 Por tôpico Sanzio Carmo
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

2013-03-30 Por tôpico Osvaldo Kussama
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

2013-03-30 Por tôpico Sanzio Carmo
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

2013-03-30 Por tôpico Osvaldo Kussama
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

2013-03-30 Por tôpico Osvaldo Kussama
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

2013-03-30 Por tôpico Danilo Silva
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