Corrigir Data de Nascimento

05/12/2016

0

Olá, amigos.


Preciso de um help urgente.

Recebi uma tabela e ela veio com a dt de nascimento no seguinte formato:

AA/AA/DDMM
87/19/1510

Alguém me ajuda a corrigir com uma sql no firebird?

Obrigado!
Filipe Silva

Filipe Silva

Responder

Posts

05/12/2016

Michael Batista

já fiz a mesma pergunta aqui, me mandaram alguns comando em sql mais não funcionaram então eu encontrei outro jeito.
deixei a data no formato a atual, e só mudei a sua exibição na minha aplicação usando:
<p:column headerText="D.Cadastro:" >
				<h:outputText value="#{item.dataCadastro}">
				<f:convertDateTime pattern="dd/MM/yyyy"
						timeZone="America/Sao_Paulo" />
				</h:outputText>
			</p:column>
Responder

05/12/2016

Mariana Carvalho

Michael Batista, em qual linguagem?
Responder

05/12/2016

Luiz Santos

Filipe.

Repetindo a pergunta da Mariana, qual a linguagem?
Se ele vier sempre nesse formato, podemos fazer uma lógica usando o LEFT, RIGHT e REPLACE, para chegar no formato YYYYMMDD. (removendo o "/")
Depois disso basta converter para data usando o código 112 no CONVERT.
Isso se for no SQL Server.

Grande abraço
Responder

05/12/2016

Filipe Silva

Boa noite, Pessoal.

Desculpe- me pela ausência.

Michael Batista, obrigado pela resposta, mas confesso que eu nao entendi.
Na verdade eu preciso de um comando para o firebird.

Mariana Carvalho e Luiz Santos, é para firebird(1.5)/interbase.

Ainda na busca do comando. SQL só sei consultar =(

Obrigado pela atenção de todos!
Responder

06/12/2016

Luiz Santos

Filipe

Considerando que 75% do que o pessoal que trabalha com banco (e me incluo nessa) faz, são consultas.
Logo vc está no caminho certo.

Descobri que a função LEFT e RIGHT só existem a partir do Firebird 2.1
Você vai ter que usar a função SUBSTRING.

Ficaria algo mais ou menos assim:


SELECT SUBSTRING(campo FROM 7 FOR 2) || '/' || -- DIA
               SUBSTRING(campo FROM 9 FOR 2) || '/' || -- MES
               SUBSTRING(campo FROM 1 FOR 2) ||  SUBSTRING(campo FROM 4 FOR 2)
FROM tabela



Testa e avisa se deu certo.

Grande abs
Responder

06/12/2016

Filipe Silva

Filipe

Considerando que 75% do que o pessoal que trabalha com banco (e me incluo nessa) faz, são consultas.
Logo vc está no caminho certo.

Descobri que a função LEFT e RIGHT só existem a partir do Firebird 2.1
Você vai ter que usar a função SUBSTRING.

Ficaria algo mais ou menos assim:


SELECT SUBSTRING(campo FROM 7 FOR 2) || '/' || -- DIA
               SUBSTRING(campo FROM 9 FOR 2) || '/' || -- MES
               SUBSTRING(campo FROM 1 FOR 2) ||  SUBSTRING(campo FROM 4 FOR 2)
FROM tabela



Testa e avisa se deu certo.

Grande abs


Bom dia, Luiz Santos.

Ainda hoje irei testar e trarei o feedback.

Obrigado pela força!

Abc!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar