LibreOffice Base Convertir champ VARCHAR en champ DATE

Fermé
CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020 - Modifié le 13 avril 2019 à 16:15
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 13 avril 2019 à 18:16
Bonjour à vous,

Je travaille sur libreOffice Base. J'ai un champ VARCHAR qui contient des dates (au format texte puisque VARCHAR) qui ont été saisi sous cette forme: jj/mm/aa je souhaite avoir ses dates dans un champ DATE.
J'ai essayé de convertir mon champ VACHAR contenant des jj/mm/aa en champ DATE sans y parvenir.
J'ai donc créé un nouveau champ au format DATE et jj'essaye de copier le contenu de mon champ VARCHAR dans ce nouveau champ DATE sans y parvenir. J'ai essayé "CONVERT" , j'ai essayé SELECT CAST( CHAR AS DATE ) rien n'y fait.... il y a une discussion sur CCM notée résolu mais qui ne l'est pas....
Auriez vous une idée...
Merci de votre aide....
A voir également:

2 réponses

jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 13 avril 2019 à 00:17
Bonjour,

Je ne connais pas les commandes pour ta bdd (convert, cast, ...) mais si je devais le faire en sql avec Oracle ce serait la commande suivante :

update tabtst set coldate=to_date(coltexte,'dd/mm/yyyy'); 

La commande
update
puisque l'on souhaite mettre à jour la bdd et le champ date est affecté de la valeur convertie du champ texte. Il faut donc remplacer la fonction
to_date()
d'Oracle par l'équivalent dans ta bdd.

Cdlt
0
CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020
Modifié le 13 avril 2019 à 13:57
Bonjour Jee Pee, merci de l'aide, mais je crois effectivement que libreOffice base est très différent d'Oracle.
J'ai essayé ton code, il ne fonctionne pas. UPDATE nous est commun, SET aussi, après les coldate et coltexte... je ne pense pas. Je mets une base en exemple.
Dans le F_PRINCIPAL il y a le champ "DateTexte" (VARCHAR) qui a été renseigné sous la forme jj/mm/aa que je dois retrouver à l'identique dans le champ "Date DATE" (DATE).
Merci de ton aide...

P.S.: je ne vois plus le lien pour insérer un fichier.....
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221 > CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020
Modifié le 13 avril 2019 à 14:21
Il faut bien sur que tu remplaces le nom de table et de colonnes de mon exemple par les tiennes.

J'ignore les commandes de OO LO. Et ce n'est guère documenté, pas vraiment considéré comme une vraie base de données ;-)

Tu as vraiment un champ "Date DATE" ? c'est souvent une mauvaise idée un blanc dans un nom.

Sur CCM on ne peut pas insérer de fichiers, on peut mettre du code puis le formater avec la balise CODE en icone sur la zone de message, ou insérer une image, pareil avec l'icone à droite au dessus de la saisie texte.
0
CCC94 Messages postés 13 Date d'inscription mardi 12 mars 2019 Statut Membre Dernière intervention 4 mars 2020
Modifié le 13 avril 2019 à 15:31
oui sur CCM on ne peut pas joindre de fichier.... Exact...
J'ai essayé des choses comme ça:
UPDATE "T-Grand COLLER" SET  "EnvoiDocLeDate" = "Envoi Doc le" (coltexte,'dd/mm/yy'); 

mais je me demande si ton code permet de convertir les données texte en date dans le même champ ou s'il copie les données en les convertissant dans un autre champ ?
j’ai essayé ça aussi :
UPDATE "T-Grand COLLER" SET  "EnvoiDocLeDate" = DATE ("Envoi Doc le" ,'dd/mm/yy'); 

Mais je patauge....

Mais encore plus important, au départ ma base était sous "iWork" vieux logiciel mac en 10.6.8 j'ai cherché les meilleurs bases de données pour convertir ma base, mon résultat = ACCESS qui ne tourne que sur windows, FileMaker qui ne tourne que sur MAC et LibreOffice qui tourne sur tous les systèmes.... j'ai cru comprendre que les 3 étaient équivalentes.....
0
jee pee Messages postés 39578 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 221
Modifié le 13 avril 2019 à 16:15
C'est dans un autre champ : coltexte varchar et coldate date.

Pour chercher la bonne fonction à utiliser tu devrais essayer avant l'update, le select

SELECT XXXXX("Envoi Doc le" ,'dd/mm/yy') from "T-Grand COLLER" ; 
il faut trouver la fonction XXXXX qui va bien.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
13 avril 2019 à 18:16
bonjour
si tu veux echanger ton fichier , compresse le en zip puis copie le dans un lien que tu avec ci_oint.com.ce lien tu le copies dans un message de comment ca marche
0