Ajuda com SQL - update com Data
Olá pessoal,
Preciso fazer o seguinte SQL.
Tenho algumas datas assim ´01/08/1899´
eu quero mudar apenas o ano. De forma que todos as datas que estejam com ano de ´1899´ mudar para ´2006´
Como posso fazer isso, obrigado.
Yalle
Preciso fazer o seguinte SQL.
Tenho algumas datas assim ´01/08/1899´
eu quero mudar apenas o ano. De forma que todos as datas que estejam com ano de ´1899´ mudar para ´2006´
Como posso fazer isso, obrigado.
Yalle
Yallebr
Curtidas 0
Respostas
Diviex
04/09/2006
vc quer fazer isso atravez de SQL??? se for sim, com qual banco de dados que vc trabalha?
GOSTEI 0
Yallebr
04/09/2006
Sim, quero fazer atavés de SQL utilizo FB 1.52
GOSTEI 0
Diviex
04/09/2006
utilize o sequinte codigo
onde
[list:3c84349233]CAMPO1=É um campo do tipo DATE.
CAMPO2=É um campo do tipo TIMESTAMP.[/list:u:3c84349233]
O que essa query faz eh extrair os valores que [b:3c84349233]nao [/b:3c84349233]se deseja alterar. No nosso caso todos os valores exceto o ano.
Em seguida eh utilizado a funcao [i:3c84349233]CAST[/i:3c84349233] para juntar os valores novamente no formato que se deseja.
UPDATE TABELA AS TB SET TB.CAMPO1=CAST((EXTRACT(DAY FROM TB.CAMPO1)||´.´||EXTRACT(MONTH FROM TB.CAMPO1)||´.2006´) AS DATE), TB.CAMPO2=CAST((EXTRACT(DAY FROM TB.CAMPO2)||´.´||EXTRACT(MONTH FROM TB.CAMPO2)||´.2006 ´|| EXTRACT(HOUR FROM TB.CAMPO2)||´:´||EXTRACT(MINUTE FROM TB.CAMPO2)||´:´|| EXTRACT(SECOND FROM TB.CAMPO2)) AS TIMESTAMP)
onde
[list:3c84349233]CAMPO1=É um campo do tipo DATE.
CAMPO2=É um campo do tipo TIMESTAMP.[/list:u:3c84349233]
O que essa query faz eh extrair os valores que [b:3c84349233]nao [/b:3c84349233]se deseja alterar. No nosso caso todos os valores exceto o ano.
EXTRACT(informacao FROM valor)
Em seguida eh utilizado a funcao [i:3c84349233]CAST[/i:3c84349233] para juntar os valores novamente no formato que se deseja.
CAST(valor AS tipo_dado)
GOSTEI 0