Bonjour à tous!
Je me tourne vers vous car je n'arrive pas à convertir une variable en format date, la finalité étant de faire une différence entre les deux dates sous forme d'un entier représentant le nombre de jours. Ce calcule sera fait à la place de *.
Je travail sous le logiciel ClinSight.
Voici la requete incriminée :
Le problème est qu'il y a des lignes vides dans NEW_DATE ainsi que certaines lignes où la date à été mal saisie et la conversion ne peut donc pas ce faire, j'obtiens l'érreur suivantes "Caractère non numérique trouvé à la place d'un caractère numérique" ce qui est logique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT * FROM( SELECT CAST(DATE_SAISIE AS DATE) as DATE_SAISIE,CASE WHEN NEW_DATE IS NOT NULL THEN CAST(NEW_DATE AS DATE) END FROM( SELECT SUBSTR(DATE_TIME,1 ,10) as DATE_SAISIE , CASE WHEN NEW_DATA LIKE '%/%/20%' then NEW_DATA END AS NEW_DATE FROM MaTable ) );
Bien sur je n'ai pas le droit de modifier "à la main" mes donnée, le but de ma requête étant d'automatiser un processus, celle-ci doit donc pouvoir s'adapter.
Le fichiers joint est la BD que j'obtiens si je ne converti pas NEW_DATE en date, mais cette variable est alors en STRING et je ne peux donc pas calculer la différence.
J'espère avoir été clair.
D'avance merci!
DATE_DIFF.xls
Edit 1 : Je me rend compte que je ne pose pas clairement ce pourquoi j'ai besoin d'aide!
Je voudrais savoir si il existe une solution pour que lorsque j'ai une date au bon format celle-ci soit convertie au format date et si jamais le format n'est pas reconnu que la valeur soit quand meme transformeer en Date meme si celle-ci ne provoquera un code d'erreur pour le calcul de la DIFF.
Partager