Fórum problemas com datas no interbase #363225
25/08/2008
0
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
Curtir tópico
+ 0
Responder
Posts
26/08/2008
Romulocpd
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)