Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Wed 24 July 2019 17:52

raster31
Participant occasionnel
Date d'inscription: 13 Oct 2016
Messages: 21

PostgreSQL : convertir un champ integer en champ date

Bonjour,

j'hérite d'une base de données  postgres/postgis où toutes les données liées à des dates ont été rentrées dans des champs integer :

j'ai des valeurs null qui ressortent en "0" et les autres sont enregistrées de la manière suivante : "20190624" "20190522" "20180401" "20170326" etc.

J'aimerais donc pouvoir faire passer ces champs integer avec un format date

J'ai essayé les solutions standards (avec ou sans clause using) et évidemment ça ne marche pas.

Des idées svp !?

Hors ligne

 

#2 Thu 25 July 2019 09:32

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1129

Re: PostgreSQL : convertir un champ integer en champ date

Salut,

c'est quoi les solutions standards ?

vous pouvez faire quelque-chose comme çà :

Code:

UPDATE ma_table 
SET the_date =
CASE 
WHEN the_date > 0 THEN
    the_date::text::date
ELSE
    NULL 
END
;

Vous transformez votre date en texte, puis en date.

Dernière modification par tumasgiu (Mon 29 July 2019 16:36)

Hors ligne

 

Pied de page des forums

Powered by FluxBB