Somar VARCHAR2 (8 BYTE)

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
blemmac
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 06 Abr 2011 9:24 am
Localização: Rio de Janeiro

Pessoal,

Tem um campo VARCHAR2 (8 BYTE) que recebem minutagem. Exemplo: 00:01:15, 12:05:23...

Preciso dar um sum nessa minutagem, porém não consigo converter os dados para number, com o to_number ou o cast, para poder dar o sum.

alguém pode me ajudar?

Obrigado!
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

Eis que surge uma pergunta:

Esta soma deverá ocorrer em um select (algo somo "select sum(coluna_tempo_str) frm dual" ) ou em um bloco PL/SQL?

Os comandos para transformação em número(cast e to_number) não funcionam porque tu tem os ":" no meio da string e isto não é transformavel. O mais próximo a isto é um to_Date, Mas ai não sei se existem somas de datas.
blemmac
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 06 Abr 2011 9:24 am
Localização: Rio de Janeiro

Ocorrerá em um select. Sabia que não funcionava devido aos ':'.

Teria alguma forma, como criar uma nova coluna e fazer um update com estes dados? Se bem que o tipo DATE também não irá aceitar o ':'.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Poderia somar as partes com substr,
força um formato (dd/mm/rrrr hh24:mi:ss) e então vai dando substr em cada pedaço e aí soma, ao final vai ter que fazer algumas divisões para que por exemplo 65 minutos, acrescente 1 hora e fique somente os cinco minutos, funcao MOD, pega o resto da divisão.. talvez seja mais fácil fazer uma função.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

acho q esse topico pode ajudar
http://glufke.net/oracle/viewtopic.php?t=3281
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes