Jump to content

[Resolvido] Ajuda com comando para SQL for DB2 5.0


Recommended Posts

Posted

Estou procurando comandos basicos em SQL para DB2 (a versão usada pela empresa é 5.0).

Na verdade o que eu estou precisando é o seguinte:  Tenho um campo  data, no formato americano (EUA - aaaa-mm-dd), e gostaria de saber qual o dia da semana referenta a data.

Por Ex.:  2008-10-25 (sabado) ou (7)

Preciso de uma luz para o comando em SQL usado em DB2 5.0, sendo que o mesmo pode retornar o dia da semana ou apenas o numero do dia da semana.

Fico muito grato com a ajuda de todos.

Germano

PS.:  minha forma de escrever pode ser um pouco diferente, sou brasileiro.  Agradeço a compreensão.

Posted

Eu perguntei ao google e aparentemente a função que precisas chama-se DAYOFWEEK e recebe datas precisamente nesse formato que indicaste que aparentemente é o formato default desse SGBD.

Tens aqui informação mais detalhada sobre funções de data no db2

http://www.ibm.com/developerworks/data/library/techarticle/0211yip/0211yip3.html

Somente para ter certeza... eu estava verificando o link referido, e vejo que o autor utiliza em DB2 8.1, e somente gostaria de saber se funcionaria em DB2 5.0.

Este comando é um comando nativo (padrão) para todas as versões??

Desde já, agradeço sua colaboração.

Posted

Não sei, desculpa. Apenas pesquisei no google por curiosidade.

Agradeço assim mesmo....  na segunda vou aplicar o comando.... caso funcione eu postarei o resultado como positivo e encerrarei o tópico.

Valeu!!!

  • 3 weeks later...
Posted

Eu perguntei ao google e aparentemente a função que precisas chama-se DAYOFWEEK e recebe datas precisamente nesse formato que indicaste que aparentemente é o formato default desse SGBD.

Tens aqui informação mais detalhada sobre funções de data no db2

http://www.ibm.com/developerworks/data/library/techarticle/0211yip/0211yip3.html

Este comando não é nativo do DB2 5.0, se ainda tiverem alguma sugestão, eu aceito.

Posted

Boas,

Se bem me lembro o dia da semana só foi implementado na versão 6 do DB2 e já foi há alguns anos. 😛

Assim de repente vejo duas hipóteses:

* implementas tu mesmo a função  dia da semana ( tendo em conta os anos bissextos ) e depois fazes pré-processamento antes de obteres a informação. Claro que isto serve que tiveres hipótese criares a função no servidor.

* criares numa linguagem numa linguagem de programação (tipo perl) que  permita aceder à base de dados, retirar os dados, manipulares e pós-processares.

No entanto vou falar com uns amigos meus, a ver se eles se lembrar de fazer algo semelhante nessa versão.

Posted

Agradeço a ajuda....

Criar algo no servidor seria impossivel, do modo que o servidor esta amarrado.

O que estamos tentando fazer é uma query, para retirar os dados do servidor e precisariamos que nessa query retornasse o dia da semana.  ela naum vai alterasr os dados do servidor e sim gerar relatório.

Precisaria que essa data da semana venha a ser rotornada em query e naum no servidor.  A base sempre vai ser a mesma, e informo  que nos dados tem campo data, sendo assim, somente naum estamos conseguindo transformar essa data em dia da semana. 

Agradeço toda aajuda que tens me dado.

Posted

Boas,

Bem podes sempre calcular inline o dia da semana, como se calculasses uma média (p. ex:) , claro que torna a query bastante mais "pesada".

este site, que explica como chegar de uma forma mais "simples" ao dia da semana.

Já não me lembro como se faz esse tipo de contas, pois o "custo" acaba por ser elevado se for um processo rotineiro...

Posted

Boas,

Bem podes sempre calcular inline o dia da semana, como se calculasses uma média (p. ex:) , claro que torna a query bastante mais "pesada".

este site, que explica como chegar de uma forma mais "simples" ao dia da semana.

Já não me lembro como se faz esse tipo de contas, pois o "custo" acaba por ser elevado se for um processo rotineiro...

Será um processo mensal para a tirada de daods para construção de relatórios fora da ferramenta DB2, portanto seria sim rotina mensal

Vou ver e posto a resposta

Agradeço a té agora.

Posted

Boas,

Bem podes sempre calcular inline o dia da semana, como se calculasses uma média (p. ex:) , claro que torna a query bastante mais "pesada".

este site, que explica como chegar de uma forma mais "simples" ao dia da semana.

Já não me lembro como se faz esse tipo de contas, pois o "custo" acaba por ser elevado se for um processo rotineiro...

Esse processo passaria em mais ou menos 13 a 40 mil linhas.....  haveria algo mais fácil ou rápido???

Posted

Boas,

Encontrei algo num manual pré histórico que tinha perdido nas minha coisas que dá o que precisas.

então é:

SELECT DISTINCT 

    MINHA_DATA ,

    ( DAYS ( MINHA_DATA ) - DAYS( MINHA_DATA ) / 7 * 7 )

FROM

    MINHA_TABELA

esta query "retorna" uma data e um numero correspondente ao dia da semana. Tens que confirmar se este numero está no formato 0-6 (Domingo-Sábado) ou no formato 1-7 (Segunda-Domingo).

Posted

Boas,

Encontrei algo num manual pré histórico que tinha perdido nas minha coisas que dá o que precisas.

então é:

SELECT DISTINCT 

    MINHA_DATA ,

    ( DAYS ( MINHA_DATA ) - DAYS( MINHA_DATA ) / 7 * 7 )

FROM

    MINHA_TABELA

esta query "retorna" uma data e um numero correspondente ao dia da semana. Tens que confirmar se este numero está no formato 0-6 (Domingo-Sábado) ou no formato 1-7 (Segunda-Domingo).

Vou tentar e posto a resposta....

Agradeço imensamente, até agora.

Posted

Agradeço a ajuda de todos...  a query funcionou perfeitamente...

Somente terei qwue acrescentar +1 na formulação para obeter na forma que preciso, mas eh perfeita.

E tem mais, para o que preciso não presa muito, ainda mais nos padrões que mencionei anteriormente.

Agradeço a colaboração de todos!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.