Fórum Ajuda com SQL - update com Data #56863
04/09/2006
0
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
Curtir tópico
+ 0Posts
05/09/2006
Diviex
Gostei + 0
05/09/2006
Yallebr
Gostei + 0
05/09/2006
Diviex
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
Clique aqui para fazer login e interagir na Comunidade :)