Ajuda com SQL - update com Data

Firebird

04/09/2006

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


Yallebr

Yallebr

Curtidas 0

Respostas

Diviex

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

Yallebr

04/09/2006

Sim, quero fazer atavés de SQL utilizo FB 1.52


GOSTEI 0
Diviex

Diviex

04/09/2006

utilize o sequinte codigo
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
POSTAR