DECODE EM TO CHAR

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

OLÁ MEUS CAROS BOM DIA! A DUVIDA DE HOJE É A SEGUINTE:

TENHA UMA FUNÇÃO QUE MEU GRANDE AMIGO DE ARARUAMA HAVIA ME DADO EM TOPICOS ANTERIORES, FOI DE GRANDE AJUDA MAS AGORA ESTOU QUERENDO DÁ UMA ENCREMENTADA, TIPO:

SELECT ( TO_CHAR (data_inicial, 'dd/mm/yyyy')
2 || ' | '
3 || FLOOR (TRUNC (data_final) - TRUNC (data_inicial))
4 || ' dias | '
5 || TO_CHAR (data_final, 'dd/mm/yyyy')
6 ) dias
7* FROM mens_erro2

OK DAÍ EU GOSTARIA DO SEGUINTE QUANDO O RETORNO DO BANCO FOR NULO "VAZIO" EU GOSTARIA DE USAR O DECODE PARA FILTRAR FICARIA ASSIM +OU-


DATAINICIO | DIAS ENTRE AS DATAS | DATAFIM

SE CASO A DATA FIM FOSSE NULL EU QUERIA MOSTRAR UMA MENSAGEM TIPO USUARIO ATIVO SENÃO ELE MOSTRA OS DIAS QUE O USUARUO TEM ENTRE AS DATAS.


UM FORTE ABRAÇO A TODOS.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, veja se é mais ou menos isso:

Selecionar tudo


SELECT (   TO_CHAR (SYSDATE, 'dd/mm/yyyy')
        || ' | '
        || DECODE ( FLOOR (TRUNC (SYSDATE + 10) - TRUNC (SYSDATE)), NULL, 'Usuário Ativo',  FLOOR (TRUNC (SYSDATE + 10) - TRUNC (SYSDATE)))
        || ' dias | '
        || (TO_CHAR (SYSDATE + 10, 'dd/mm/yyyy'))
       ) dias
  FROM DUAL
Dá uma adaptada nas mensagens para o teu caso e, qualquer coisa manda ai.
Editado pela última vez por Trevisolli em Ter, 04 Dez 2007 8:10 am, em um total de 1 vez.
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

DEXA SÓ EU FAZER UM ADENDO AQUI O MEU AMIGO NÃO É DE ARARUAMA E SIM DE:

Cristiano (Tineks)
Araraquara - SP

FOI MAU CRISTIANO AINDA ESTOU MEIO SONOLENTO ACABEI ERRANDO, RS
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

eu estranhei quando vi araruama kkkkkkkkkk, mas tranquilo meu amigo!!
É normal o pessoal trocar o nome daqui. hehehehehehe

[]'s!!!!
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

CARA está DANDO UM PAU MUITO DOIDO


(TO_CHAR (dtinicio, 'dd/mm/yyyy')
,
DECODE ( FLOOR (TRUNC (DTEXCLUSAO + 10) - TRUNC (SYSDATE)), NULL, 'Usuário Ativo', FLOOR (TRUNC (SYSDATE + 10) - TRUNC (SYSDATE)))
|| ' dias | '
|| (TO_CHAR (SYSDATE + 10, 'dd/mm/yyyy'))
dias,

ELE está DANDO 10 DIAS PRA DIFERENÇA ENTRE AS DATA TIPO:

A DATA QUE ESTÁ NULL VEM CORRETA MAS A DIFERENÇA ENTRE AS OUTRAS VEM ERRADA ELE está TRAZENDO 10 DIAS PARA TODOS
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

É por causa deste SYSDATE+10 brother, que coloquei de exemplo.
Você pode estar alterando estes SYSDATE como tua necessidade.

Se for o caso, manda a definição das tuas tabelas pra gente montar com base nas tuas informações, beleza?

qualquer coisa, manda ai.
Editado pela última vez por Trevisolli em Ter, 04 Dez 2007 8:57 am, em um total de 1 vez.
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

Trevisolli

CARA O ERRO ERA MEU MESMO, rs CONCERTEI aqui E FICOU SHOW DE BOLA, BRIGADO MEU AMIGÃO!
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Blzera brother.
qualquer coisa, estamos ai.
Responder
  • Informação
  • Quem está online

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