Duvida com 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á pessoal estou aqui novamente, Galera preciso entender como funciona o lance de TO CHAR exemplo estou com um select brabo e acho que a solução seria esse tal de TO CHAR.

Tenho que trazer todo mundo que faz aniversário hoje por exemplo pois estamos colocando no site da empresa uma parte para aniversáriante do dia daí no banco a data de nascimento está gravada assim:

21/4/1947

Supunhetamos que hoje fosse 21/4/1947 ok como faria um select pra rodar todos os dias no servidor PHP. Imaginei o to char pois pegaria as strings 0 até o 4 pra comparar com o dia do servidor.
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,

Supondo que a data de nascimento em tua base seja DATE, veja este exemplo:

Selecionar tudo

DECLARE 
  vdt_nasc DATE := TO_DATE('10/07/1977','dd/mm/rrrr'); -- quem nasceu em 10/07
  vhoje    DATE := TRUNC(SYSDATE); 
BEGIN

  IF TO_CHAR(vdt_nasc,'dd/mm') = TO_CHAR(vhoje,'dd/mm')
  THEN
     dbms_output.put_line('Tem gente fazendo aniversário hoje! ');
  END IF;

END;
Qualquer coisa, manda pra gente.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Para complementar:

Existe o comando EXTRACT, mas ele pega apenas o ANO, mês ou DIA individualmente...

Aí vai o link:
http://glufke.net/oracle/viewtopic.php?t=2344

:-o
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

Pessoal valeu pela força eu acabei montando assim ó:

Selecionar tudo

select a.NOME, TO_CHAR(a.NASCIMENTO, 'DD') AS DIA, TO_CHAR(a.NASCIMENTO, 'MM') AS mês 
from producao.login_site a where TO_CHAR(a.NASCIMENTO, 'DD') = TO_CHAR(sysdate, 'DD') and
TO_CHAR(a.NASCIMENTO, 'MM') = TO_CHAR(sysdate, 'MM')
e por enquanto deu certo, mas valeu mesmo

Ai Trevisolli quanto tempo Brother valeu pela dica. e obrigado também ao dr_gori e Thomas F. G.
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

Fala meu velho, que bom que deu certo e, quanto tempo mesmo... estou meio enrolado em projetos.

Mas, conforme vai dando certo, a gente vai ajudando e aprendendo.

Abração pra você meu velho.
Responder
  • Informação
  • Quem está online

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