problemas com datas no interbase
Caros colegas,
Na minha base de dados de cliente tenho um campo do tipo DATE que armazena a data de nascimento do cliente. Acontece qie verifiquei que quando não é informada a data é gravado no banco de dados a data 30.12.1899.
Agora muidei o tipo de campo para TIMESTAMP e quero dar um UPDATE no banco para limpar as data que estiverem com 30.12.1899
Como seria a sintaxe do comando. Ex. UPDATE CLIENTES SET DTNASC=NULL WHERE DTNASC=´30.12.1899´.
Sei que não vai dá certo pois acredito que precisa de algum comando por se tratando de campos do tipo data.
Agradeço desde já a atenção
Gilson
Na minha base de dados de cliente tenho um campo do tipo DATE que armazena a data de nascimento do cliente. Acontece qie verifiquei que quando não é informada a data é gravado no banco de dados a data 30.12.1899.
Agora muidei o tipo de campo para TIMESTAMP e quero dar um UPDATE no banco para limpar as data que estiverem com 30.12.1899
Como seria a sintaxe do comando. Ex. UPDATE CLIENTES SET DTNASC=NULL WHERE DTNASC=´30.12.1899´.
Sei que não vai dá certo pois acredito que precisa de algum comando por se tratando de campos do tipo data.
Agradeço desde já a atenção
Gilson
Ghsol
Curtidas 0
Respostas
Romulocpd
25/08/2008
Tente usar a EXTRACT (já usei isso no FireBird)
Seria algo assim:
UPDATE CLIENTES SET DTNASC=NULL
WHERE (EXTRACT YEAR FROM DTNASC) < 1900
Já usei isso antes pois em storeds o Delphi passava ZERO para a stored e ia com este valor.
Dá uma olhada nesse EXTRACT na documentação do IB que irá certinho.
Seria algo assim:
UPDATE CLIENTES SET DTNASC=NULL
WHERE (EXTRACT YEAR FROM DTNASC) < 1900
Já usei isso antes pois em storeds o Delphi passava ZERO para a stored e ia com este valor.
Dá uma olhada nesse EXTRACT na documentação do IB que irá certinho.
GOSTEI 0